Recent Posts

Pages: 1 2 3 4 5 6 7 8 [9] 10
81
General chat / Logging in
« Last post by bikemadness on June 12, 2025 »
Google saves passwords for automatic login.
A good thing because I have no idea what mine is now.
I had been trying to log in up until a few weeks ago.
And I couldn't.
It seemed google lost the dbf password.
It actually didn't have it - in windows 10.
So I brushed off a mini-laptop still loaded with windows 7.
My recent posts have made with the mini.
It's fifteen years old and luckily still reliable.
Interesting.
82
Yabasic / Orbiting Planets
« Last post by bikemadness on June 09, 2025 »
I reverse engineered an old program with the only sample
of sorting I found. It's easier to use and understand.
This is my first moving graphic. Just one axis and no perspective.
Up arrow - change direction/stop
Left arrow - random postion
Right arrow - change view
Down arrow - change colour/no colour

Code: [Select]
open window 640,512
x=320
y=256
ang=pi/180
rain=20
dim R(rain)
dim G(rain)
dim B(rain)
dim dir(rain)
dim dist(rain)
dim sp(rain)
dim x1(rain)
dim y1(rain)
dim size(rain)
dim order$(rain)

for a=1 to rain
R(a)=int(ran(200))
G(a)=int(ran(200))
B(a)=int(ran(200))
dir(a)=int(ran(360))
dist(a)=int(ran(15))*20+20
next a

shape=4
turn=2
col=1

keys=16
dim go(keys)
dim g(keys)

key=16
dim go1(key)

repeat
setdrawbuf vm
vm=1-vm
setdispbuf vm
clear window
c=peek("port1")

for a=1 to keys
if and(c,2^(a-1))<>0 go(a)=1
if go(a)=1 g(a)=g(a)+1
if g(a)>2 g(a)=2
if g(a)=2 go(a)=0
if and(c,2^(a-1))=0 g(a)=0
next a

for a=1 to key
if and(c,2^(a-1))<>0 go1(a)=1
if and(c,2^(a-1))=0 go1(a)=0
next a

if go(6)=1 shape=shape+1
if shape>4 shape=1
text 12,24,str$(shape)

if go(5)=1 turn=turn+1
if turn>4 turn=1

if go(7)=1 col=col+1
if col>2 col=1

for a=1 to rain
if turn=3 or turn=1 dir(a)=dir(a)+0
if turn=2 dir(a)=dir(a)+sp(a)
if dir(a)>359 dir(a)=0
if turn=4 dir(a)=dir(a)-sp(a)
if dir(a)<0 dir(a)=359
next a

for a=1 to rain
if shape=5 then
dir(a)=a*(360/rain)
dist(a)=200
endif
next a

for a=1 to rain
if go(8)=1 then
dir(a)=int(ran(360))
dist(a)=int(ran(230))+20
endif
next a

for a=1 to rain
order$(a)=str$(size(a))
next a

for k=1 to rain-1
for j=1 to rain-k

if order$(j)>order$(j+1) then

temp=size(j)
size(j)=size(j+1)
size(j+1)=temp

temp=R(j)
R(j)=R(j+1)
R(j+1)=temp

temp=G(j)
G(j)=G(j+1)
G(j+1)=temp

temp=B(j)
B(j)=B(j+1)
B(j+1)=temp

temp=dir(j)
dir(j)=dir(j+1)
dir(j+1)=temp

temp=dist(j)
dist(j)=dist(j+1)
dist(j+1)=temp

temp=x1(j)
x1(j)=x1(j+1)
x1(j+1)=temp

temp=y1(j)
y1(j)=y1(j+1)
y1(j+1)=temp

temp$=order$(j)
order$(j)=order$(j+1)
order$(j+1)=temp$

endif

next j
next k

for a=1 to rain
x1(a)=cos(dir(a)*ang)*dist(a)+320
y1(a)=sin(dir(a)*ang)*dist(a)+256
sp(a)=25/dist(a)
size(a)=(y1(a)/500)*3
next a

for a=1 to rain
if shape=1 line x,y to x1(a),y1(a)
if shape=2 then
if col=1 or col=2 then
setrgb 1,256,256,256
circle x1(a),y1(a),15
endif
if col=2 then
setrgb 1,R(a),G(a),B(a)
fill circle x1(a),y1(a),14
endif
endif
if shape=3 then
setrgb 1,256,256,256
text x1(a),y1(a),"*"
endif
if shape=4 then
fill circle x1(a),256,12*size(a)
if col=1 setrgb 1,0,0,0
if col=2 setrgb 1,R(a),G(a),B(a)
fill circle x1(a),256,11*size(a)
setrgb 1,256,256,256
endif
'if shape=5 line x1(a),10*size(a)+240 to x1(a),10*size(a)+270
next a

text 0,12,str$(dir(1),"###")

until (1=0)

83
General chat / RIP Stingray
« Last post by Moroboshisan on June 08, 2025 »
Unfortyunately I just stumbled upon this EAB forum thread https://eab.abime.net/showpost.php?p=1748720&postcount=1 and I feel sad and really shocked!
Never meet him in person nor chatted with him so much over time but... I feel really sad about this loss, the whole Amiga community lost a very talented guy and way too young.
He did a AMAZING work in the scene and we all thruly miss him.

Rest In Peace.
84
Yabasic is just perfect. The emulator just made it better.
I found the emulator before dbf went live and copies of
the first only download have been loaded on all computers
I've owned. My first program was my biggest. It took 3
months to write, get it to run and debug it and it was
written on PS2 console yabasic. When the emulator
came along, I baulked at having to re-type it.
Then I heard that memory cards could be tranferred to computer.
So I asked Jim about it. He had the gear. I sent him 3
years of work and he put it on this site.
I have copies of that everywhere too.
I have written far more since then and my best stuff
is on this site. I wished there coding samples when I started.
85
Yabasic / Ants
« Last post by bikemadness on June 01, 2025 »
Yes. The creepy crawlies.
Don't show this to your girlfriend.

Code: [Select]
open window 640,512
setrgb 0,255,255,255
fill rectangle 0,0 to 640,512
l=5
fly=100
dim flyx(fly),flyy(fly)
dim a(fly),k(fly),e(fly),c(fly),f(fly),d(fly)
for m=1 to fly
flyx(m)=int(ran(640))
flyy(m)=int(ran(512))
next m
repeat
setdrawbuf dw
dw=1-dw
setdispbuf dw
clear window
for m=1 to fly
setrgb 1,0,0,0
k(m)=a(m)
label move
a(m)=int(ran(36))
if (a(m)>k(m)-34 and a(m)<k(m)-2) goto move
if (a(m)>k(m)+2 and a(m)<k(m)+34) goto move
e(m)=c(m)
f(m)=d(m)
if ((e(m)+320)>640) e(m)=-320
if ((e(m)+320)<0) e(m)=320
if ((f(m)+256)>512) f(m)=-256
if ((f(m)+256)<0) f(m)=256
c(m)=(cos(10*(pi/180)*a(m))*l)+e(m)
d(m)=(sin(10*(pi/180)*a(m))*l)+f(m)
fill circle flyx+e(m)+320,flyy+f(m)+256,3
fill circle flyx+c(m)+320,flyy+d(m)+256,3
next m
until (1=0)

86
Yabasic / tic tac toe play sheet
« Last post by bikemadness on June 01, 2025 »
key-board instead a sheet of paper.
the keys can be any group of letters
or the number pad and still, eg "1".
via the data string.

Code: [Select]
restore select
read sum
dim num$(sum)
for a=1 to sum
read num$(a)
next a

restore title
read blx
dim lit$(blx)
for a=1 to blx
read lit$(a)
next a

blox=9
dim lt$(blox)
dim x(blox)
dim y(blox)
dim z(blox)

for a=1 to blox
z(a)=3
next a

word=4

open window 640,512
repeat
setdrawbuf vm
vm=1-vm
setdispbuf vm
clear window

g$=inkey$(0)

'if g$="q" word=word+1
'if word>blx word=1

gridx=0
gridy=150

for a=1 to blox
gridx=gridx+50
if gridx>150 then
gridx=50
gridy=gridy+50
endif

x1=x(a)+gridx+100-24
y1=y(a)+gridy-24
x2=x(a)+gridx+100+24
y2=y(a)+gridy+24
rectangle x1,y1 to x2,y2
setrgb 1,150,150,150
text x1+18,y1+27,num$(a)
setrgb 1,256,256,256

if g$=num$(a) x=x+1
if x>2 x=1

if g$=num$(a) z(a)=x

if g$="t" z(a)=3
text 140,110,"'t' to clear"

if z(a)=1 or z(a)=2 clear fill rectangle x1+5,y1+5 to x2-5,y2-5

if z(a)=1 lt$(a)="O"
if z(a)=2 lt$(a)="X"
if z(a)=3 lt$(a)=""

text x(a)+gridx+100-5,y(a)+gridy+5,lt$(a)

next a

for a=1 to blx
x1=0
y1=150

for b=1 to len(lit$(a))
x1=x1+50
if x1>150 then
x1=50
y1=y1+50
endif
if word=a text x1+95,y1+5,mid$(lit$(a),b,1)
next b
next a

until (1=0)

label select
data 9
data "w","e","r","a","s","d","z","x","c"

label title
data 4
data "TICTACTOE"
data "PLAYERONE"
data "PLAYERTWO"
data "         "


87
Yabasic / Word Unscramble
« Last post by bikemadness on June 01, 2025 »
I haven't figured out a shorter code.
Here's the long version.
D-pad (right) to randomize.

Code: [Select]
dim xl$(12),xn1(12),xn2(12),xn3(12),xn4(12)
dim xn5(12),xn6(12),xn7(12),xn8(12),xn9(12)
dim xn10(12),xn11(12),xn12(12),xn13(12)
dim xn14(12),xn15(12),xn16(12),xn17(12)
dim xn18(12),xn19(12),xn20(12),xn21(12)
dim xn22(12),xn23(12),xn24(12),xn25(12)
dim xn26(12),xn27(12),xn28(12),xn29(12)
dim xn30(12),xn31(12),xn32(12),xn33(12)
dim xn34(12),xn35(12),xn36(12),xn37(12)
dim xn38(12),xn39(12),xn40(12),xn41(12)
dim xn42(12),xn43(12),xn44(12),xn45(12)
dim xn46(12),xn47(12),xn48(12),xn49(12)
dim xn50(12),xn51(12),xn52(12),xn53(12)
dim xn54(12),xn55(12),xn56(12),xn57(12)
dim xn58(12),xn59(12),xn60(12),xn61(12)
dim xn62(12),xn63(12),xn64(12),xn65(12)
dim xn66(12),xn67(12),xn68(12),xn69(12)
dim xn70(12),xn71(12),xn72(12),xn73(12)
dim xn74(12),xn75(12),xn76(12),xn77(12)
dim xn78(12),xn79(12),xn80(12),xn81(12)
dim xn82(12),xn83(12),xn84(12),xn85(12)
dim xn86(12),xn87(12),xn88(12),xn89(12)
dim xn90(12),xn91(12),xn92(12),xn93(12)
dim xn94(12),xn95(12),xn96(12),xn97(12)
dim xn98(12),xn99(12),xn100(12),xn101(12)
dim xn102(12),xn103(12),xn104(12),xn105(12)
dim xn106(12),xn107(12),xn108(12),xn109(12),xn110(12)

for a=1 to 12:read xl$(a):next a
for a=1 to 12:read xn1(a):next a
for a=1 to 12:read xn2(a):next a
for a=1 to 12:read xn3(a):next a
for a=1 to 12:read xn4(a):next a
for a=1 to 12:read xn5(a):next a
for a=1 to 12:read xn6(a):next a
for a=1 to 12:read xn7(a):next a
for a=1 to 12:read xn8(a):next a
for a=1 to 12:read xn9(a):next a
for a=1 to 12:read xn10(a):next a
for a=1 to 12:read xn11(a):next a
for a=1 to 12:read xn12(a):next a
for a=1 to 12:read xn13(a):next a
for a=1 to 12:read xn14(a):next a
for a=1 to 12:read xn15(a):next a
for a=1 to 12:read xn16(a):next a
for a=1 to 12:read xn17(a):next a
for a=1 to 12:read xn18(a):next a
for a=1 to 12:read xn19(a):next a
for a=1 to 12:read xn20(a):next a
for a=1 to 12:read xn21(a):next a
for a=1 to 12:read xn22(a):next a
for a=1 to 12:read xn23(a):next a
for a=1 to 12:read xn24(a):next a
for a=1 to 12:read xn25(a):next a
for a=1 to 12:read xn26(a):next a
for a=1 to 12:read xn27(a):next a
for a=1 to 12:read xn28(a):next a
for a=1 to 12:read xn29(a):next a
for a=1 to 12:read xn30(a):next a
for a=1 to 12:read xn31(a):next a
for a=1 to 12:read xn32(a):next a
for a=1 to 12:read xn33(a):next a
for a=1 to 12:read xn34(a):next a
for a=1 to 12:read xn35(a):next a
for a=1 to 12:read xn36(a):next a
for a=1 to 12:read xn37(a):next a
for a=1 to 12:read xn38(a):next a
for a=1 to 12:read xn39(a):next a
for a=1 to 12:read xn40(a):next a
for a=1 to 12:read xn41(a):next a
for a=1 to 12:read xn42(a):next a
for a=1 to 12:read xn43(a):next a
for a=1 to 12:read xn44(a):next a
for a=1 to 12:read xn45(a):next a
for a=1 to 12:read xn46(a):next a
for a=1 to 12:read xn47(a):next a
for a=1 to 12:read xn48(a):next a
for a=1 to 12:read xn49(a):next a
for a=1 to 12:read xn50(a):next a
for a=1 to 12:read xn51(a):next a
for a=1 to 12:read xn52(a):next a
for a=1 to 12:read xn53(a):next a
for a=1 to 12:read xn54(a):next a
for a=1 to 12:read xn55(a):next a
for a=1 to 12:read xn56(a):next a
for a=1 to 12:read xn57(a):next a
for a=1 to 12:read xn58(a):next a
for a=1 to 12:read xn59(a):next a
for a=1 to 12:read xn60(a):next a
for a=1 to 12:read xn61(a):next a
for a=1 to 12:read xn62(a):next a
for a=1 to 12:read xn63(a):next a
for a=1 to 12:read xn64(a):next a
for a=1 to 12:read xn65(a):next a
for a=1 to 12:read xn66(a):next a
for a=1 to 12:read xn67(a):next a
for a=1 to 12:read xn68(a):next a
for a=1 to 12:read xn69(a):next a
for a=1 to 12:read xn70(a):next a
for a=1 to 12:read xn71(a):next a
for a=1 to 12:read xn72(a):next a
for a=1 to 12:read xn73(a):next a
for a=1 to 12:read xn74(a):next a
for a=1 to 12:read xn75(a):next a
for a=1 to 12:read xn76(a):next a
for a=1 to 12:read xn77(a):next a
for a=1 to 12:read xn78(a):next a
for a=1 to 12:read xn79(a):next a
for a=1 to 12:read xn80(a):next a
for a=1 to 12:read xn81(a):next a
for a=1 to 12:read xn82(a):next a
for a=1 to 12:read xn83(a):next a
for a=1 to 12:read xn84(a):next a
for a=1 to 12:read xn85(a):next a
for a=1 to 12:read xn86(a):next a
for a=1 to 12:read xn87(a):next a
for a=1 to 12:read xn88(a):next a
for a=1 to 12:read xn89(a):next a
for a=1 to 12:read xn90(a):next a
for a=1 to 12:read xn91(a):next a
for a=1 to 12:read xn92(a):next a
for a=1 to 12:read xn93(a):next a
for a=1 to 12:read xn94(a):next a
for a=1 to 12:read xn95(a):next a
for a=1 to 12:read xn96(a):next a
for a=1 to 12:read xn97(a):next a
for a=1 to 12:read xn98(a):next a
for a=1 to 12:read xn99(a):next a
for a=1 to 12:read xn100(a):next a
for a=1 to 12:read xn101(a):next a
for a=1 to 12:read xn102(a):next a
for a=1 to 12:read xn103(a):next a
for a=1 to 12:read xn104(a):next a
for a=1 to 12:read xn105(a):next a
for a=1 to 12:read xn106(a):next a
for a=1 to 12:read xn107(a):next a
for a=1 to 12:read xn108(a):next a
for a=1 to 12:read xn109(a):next a
for a=1 to 12:read xn110(a):next a

dim g(16)
dim go(16)

dim x(12),x1(12)
for a=1 to 12
x(a)=a*15+215
'x1(a)=x(a)
xn1(a)=x(a)
next a

wrd=1
num=1

open window 640,512
repeat
setdrawbuf vm
vm=1-vm
setdispbuf vm
clear window
c=peek("port1")

for a=1 to 16
if and(c,2^(a-1))<>0 go(a)=1
if go(a)=1 g(a)=g(a)+1
if g(a)>2 g(a)=2
if g(a)=2 go(a)=0
if and(c,2^(a-1))=0 g(a)=0
next a

if go(5)=1 wrd=wrd-1
if wrd<1 wrd=110
if go(7)=1 wrd=wrd+1
if wrd>110 wrd=1

if go(6)=1 then
num=int(ran(110))+1
wrd=num
endif

for a=1 to 12
if wrd=1 x1(a)=xn1(a)
if wrd=2 x1(a)=xn2(a)
if wrd=3 x1(a)=xn3(a)
if wrd=4 x1(a)=xn4(a)
if wrd=5 x1(a)=xn5(a)
if wrd=6 x1(a)=xn6(a)
if wrd=7 x1(a)=xn7(a)
if wrd=8 x1(a)=xn8(a)
if wrd=9 x1(a)=xn9(a)
if wrd=10 x1(a)=xn10(a)
if wrd=11 x1(a)=xn11(a)
if wrd=12 x1(a)=xn12(a)
if wrd=13 x1(a)=xn13(a)
if wrd=14 x1(a)=xn14(a)
if wrd=15 x1(a)=xn15(a)
if wrd=16 x1(a)=xn16(a)
if wrd=17 x1(a)=xn17(a)
if wrd=18 x1(a)=xn18(a)
if wrd=19 x1(a)=xn19(a)
if wrd=20 x1(a)=xn20(a)
if wrd=21 x1(a)=xn21(a)
if wrd=22 x1(a)=xn22(a)
if wrd=23 x1(a)=xn23(a)
if wrd=24 x1(a)=xn24(a)
if wrd=25 x1(a)=xn25(a)
if wrd=26 x1(a)=xn26(a)
if wrd=27 x1(a)=xn27(a)
if wrd=28 x1(a)=xn28(a)
if wrd=29 x1(a)=xn29(a)
if wrd=30 x1(a)=xn30(a)
if wrd=31 x1(a)=xn31(a)
if wrd=32 x1(a)=xn32(a)
if wrd=33 x1(a)=xn33(a)
if wrd=34 x1(a)=xn34(a)
if wrd=35 x1(a)=xn35(a)
if wrd=36 x1(a)=xn36(a)
if wrd=37 x1(a)=xn37(a)
if wrd=38 x1(a)=xn38(a)
if wrd=39 x1(a)=xn39(a)
if wrd=40 x1(a)=xn40(a)
if wrd=41 x1(a)=xn41(a)
if wrd=42 x1(a)=xn42(a)
if wrd=43 x1(a)=xn43(a)
if wrd=44 x1(a)=xn44(a)
if wrd=45 x1(a)=xn45(a)
if wrd=46 x1(a)=xn46(a)
if wrd=47 x1(a)=xn47(a)
if wrd=48 x1(a)=xn48(a)
if wrd=49 x1(a)=xn49(a)
if wrd=50 x1(a)=xn50(a)
if wrd=51 x1(a)=xn51(a)
if wrd=52 x1(a)=xn52(a)
if wrd=53 x1(a)=xn53(a)
if wrd=54 x1(a)=xn54(a)
if wrd=55 x1(a)=xn55(a)
if wrd=56 x1(a)=xn56(a)
if wrd=57 x1(a)=xn57(a)
if wrd=58 x1(a)=xn58(a)
if wrd=59 x1(a)=xn59(a)
if wrd=60 x1(a)=xn60(a)
if wrd=61 x1(a)=xn61(a)
if wrd=62 x1(a)=xn62(a)
if wrd=63 x1(a)=xn63(a)
if wrd=64 x1(a)=xn64(a)
if wrd=65 x1(a)=xn65(a)
if wrd=66 x1(a)=xn66(a)
if wrd=67 x1(a)=xn67(a)
if wrd=68 x1(a)=xn68(a)
if wrd=69 x1(a)=xn69(a)
if wrd=70 x1(a)=xn70(a)
if wrd=71 x1(a)=xn71(a)
if wrd=72 x1(a)=xn72(a)
if wrd=73 x1(a)=xn73(a)
if wrd=74 x1(a)=xn74(a)
if wrd=75 x1(a)=xn75(a)
if wrd=76 x1(a)=xn76(a)
if wrd=77 x1(a)=xn77(a)
if wrd=78 x1(a)=xn78(a)
if wrd=79 x1(a)=xn79(a)
if wrd=80 x1(a)=xn80(a)
if wrd=81 x1(a)=xn81(a)
if wrd=82 x1(a)=xn82(a)
if wrd=83 x1(a)=xn83(a)
if wrd=84 x1(a)=xn84(a)
if wrd=85 x1(a)=xn85(a)
if wrd=86 x1(a)=xn86(a)
if wrd=87 x1(a)=xn87(a)
if wrd=88 x1(a)=xn88(a)
if wrd=89 x1(a)=xn89(a)
if wrd=90 x1(a)=xn90(a)
if wrd=91 x1(a)=xn91(a)
if wrd=92 x1(a)=xn92(a)
if wrd=93 x1(a)=xn93(a)
if wrd=94 x1(a)=xn94(a)
if wrd=95 x1(a)=xn95(a)
if wrd=96 x1(a)=xn96(a)
if wrd=97 x1(a)=xn97(a)
if wrd=98 x1(a)=xn98(a)
if wrd=99 x1(a)=xn99(a)
if wrd=100 x1(a)=xn100(a)
if wrd=101 x1(a)=xn101(a)
if wrd=102 x1(a)=xn102(a)
if wrd=103 x1(a)=xn103(a)
if wrd=104 x1(a)=xn104(a)
if wrd=105 x1(a)=xn105(a)
if wrd=106 x1(a)=xn106(a)
if wrd=107 x1(a)=xn107(a)
if wrd=108 x1(a)=xn108(a)
if wrd=109 x1(a)=xn109(a)
if wrd=110 x1(a)=xn110(a)
next a

for a=1 to 12
if x(a)>x1(a) x(a)=x(a)-1
if x(a)<x1(a) x(a)=x(a)+1
next a

for a=1 to 12
text x(a),260,xl$(a)
next a

until (1=0)

data "A","C","E","I","L","N","O","P","R","T","W","Y"
data 230,245,260,275,290,305,320,335,350,365,380,395
data 290,230,245,305,335,320,380,365,260,275,395,350
data 335,365,275,230,320,245,380,305,290,260,395,350
data 320,275,290,335,305,350,245,230,260,380,365,395
data 245,365,305,260,335,395,380,320,290,275,230,350
data 245,305,350,260,365,275,320,230,335,290,380,395
data 320,365,275,335,230,350,245,305,290,380,260,395
data 230,365,275,260,245,290,320,305,335,350,380,395
data 380,305,275,320,230,395,245,365,290,335,260,350
data 245,365,275,380,395,335,320,305,290,260,230,350 rem 10
data 320,230,275,380,350,260,245,395,305,290,335,365
data 245,335,350,320,380,275,290,365,260,305,230,395
data 260,320,335,305,245,290,395,230,350,365,380,275
data 320,365,350,380,305,275,245,290,260,335,230,395
data 245,230,335,305,365,260,380,350,290,320,275,395
data 245,395,290,380,230,320,350,365,305,335,260,275
data 335,230,290,380,350,305,245,395,275,320,260,365
data 365,230,260,380,395,320,305,290,245,350,275,335
data 350,245,320,230,365,335,275,305,260,380,290,395
data 350,395,245,365,380,290,275,260,335,320,230,305 rem 20
data 245,395,335,260,365,290,305,350,320,275,230,380
data 335,350,320,365,305,275,245,290,260,380,230,395
data 305,320,335,365,380,275,245,290,260,230,350,395
data 365,320,335,305,395,230,245,275,290,260,380,350
data 305,320,395,365,290,275,245,380,260,230,350,335
data 245,350,335,365,230,275,305,320,290,380,260,395
data 290,350,245,380,395,230,365,275,305,320,260,335
data 245,260,275,305,290,380,350,320,230,335,365,395
data 350,275,320,245,305,260,290,335,365,380,230,395
data 260,230,335,365,350,395,380,320,245,290,275,305 rem 30
data 245,290,335,365,350,380,305,320,260,395,230,275
data 305,275,395,230,335,260,245,380,290,350,320,365
data 305,320,335,245,290,395,365,230,380,260,350,275
data 320,350,305,365,290,275,245,335,260,380,230,395
data 380,350,275,305,365,320,245,395,260,290,230,335
data 305,230,275,245,365,395,380,335,290,260,320,350
data 260,230,395,365,245,380,305,290,320,335,350,275
data 320,230,275,380,260,395,245,290,305,350,365,335
data 245,350,305,380,320,395,365,335,260,275,230,290
data 365,230,335,245,350,395,305,290,320,260,380,275 rem 40
data 245,260,395,365,380,335,305,350,230,290,320,275
data 245,380,275,365,260,320,305,230,350,335,290,395
data 245,320,335,305,365,260,380,350,290,275,230,395
data 230,335,350,320,365,260,380,290,305,395,245,275
data 260,380,395,365,290,320,335,230,245,350,275,305
data 245,380,395,350,305,365,290,230,275,260,335,320
data 350,290,305,275,260,380,245,230,335,320,365,395
data 365,335,395,245,290,260,305,275,350,380,230,320
data 365,230,245,380,395,335,305,290,320,350,260,275
data 365,380,395,275,245,290,335,230,350,305,320,260 rem 50
data 305,350,395,245,380,335,365,230,320,260,290,275
data 305,260,275,245,230,365,380,290,320,335,395,350
data 305,290,275,245,380,365,350,260,320,335,230,395
data 320,350,275,245,365,260,380,335,305,290,230,395
data 260,380,395,365,230,275,245,290,305,335,350,320
data 320,335,350,230,305,365,380,290,260,245,395,275
data 290,350,320,230,365,305,380,395,260,245,335,275
data 245,335,275,320,230,395,380,290,305,260,365,350
data 305,380,395,365,290,260,245,335,350,275,230,320
data 350,260,380,245,395,365,305,335,230,290,320,275 rem 60
data 230,275,380,305,290,245,350,335,395,320,365,260
data 245,275,290,380,305,395,335,230,260,320,365,350
data 260,305,245,380,320,395,335,365,275,350,230,290
data 320,350,275,365,230,335,245,305,290,380,260,395
data 320,365,245,335,350,305,380,230,260,275,395,290
data 245,350,335,380,365,290,305,395,260,320,230,275
data 380,230,335,305,245,320,260,395,365,350,290,275
data 320,350,305,365,290,275,245,335,260,380,230,395
data 350,230,380,290,335,305,245,275,395,320,260,365
data 305,245,350,230,335,365,275,320,260,380,290,395 rem 70
data 305,260,275,245,395,230,365,290,320,335,380,350
data 305,380,395,365,350,260,245,230,320,335,290,275
data 365,380,395,245,350,260,305,335,290,230,320,275
data 305,380,395,350,230,365,245,335,290,275,260,320
data 365,290,275,305,350,395,245,260,230,320,380,335
data 245,350,335,380,365,275,305,395,290,320,260,230
data 320,290,395,365,305,275,245,380,260,230,350,335
data 245,290,395,305,380,275,365,350,260,320,230,335
data 245,260,275,365,380,335,305,230,320,290,350,395
data 305,350,290,380,365,320,260,395,245,275,230,335 rem 80
data 320,230,350,380,335,275,245,305,260,395,365,290
data 320,290,245,365,305,380,395,230,260,275,350,335
data 260,395,365,305,290,335,320,275,245,230,380,350 rem 81
data 305,260,275,365,380,245,230,290,320,335,350,395
data 260,275,290,320,350,335,365,305,245,230,380,395
data 350,335,320,290,230,305,245,275,365,380,260,395
data 260,380,290,365,350,335,305,275,245,230,320,395
data 320,335,290,230,380,275,245,365,305,350,260,395
data 305,320,335,245,260,395,380,290,350,275,230,365
data 380,275,290,260,365,335,320,350,245,230,305,395
data 320,230,395,365,275,350,245,290,305,380,260,335
data 335,350,260,305,380,320,365,230,245,395,290,275
data 320,290,275,245,350,260,305,365,380,335,230,395 rem 91
data 290,230,245,305,350,320,365,335,260,275,380,395
data 350,275,380,245,335,260,290,320,395,305,230,365
data 245,275,290,305,320,380,350,260,365,230,335,395
data 320,350,290,380,365,230,245,305,260,395,275,335
data 380,275,260,245,230,335,305,365,290,395,320,350
data 380,365,260,230,350,275,320,290,305,395,335,245
data 380,290,305,275,395,320,335,365,245,230,350,260
data 260,320,350,305,335,365,380,245,275,290,395,230
data 320,245,365,275,260,380,230,290,350,395,305,335
data 290,335,275,245,305,260,365,320,350,230,380,395
data 350,230,335,320,365,290,260,380,245,305,275,395
data 365,260,305,290,275,320,245,395,380,335,350,230
data 320,350,260,230,305,275,380,395,365,290,245,335
data 290,275,350,245,335,365,260,320,230,380,305,395
data 305,290,275,245,230,320,380,350,365,260,395,335
data 335,350,305,245,260,320,380,290,395,365,230,275
data 260,365,335,380,395,350,230,320,275,290,245,305
data 335,275,290,245,395,260,380,320,365,350,230,305
data 290,245,335,230,395,305,380,320,365,350,275,260

88
Yabasic / Display Helper
« Last post by bikemadness on June 01, 2025 »
There a grid display operated by a phone app.
to display preset pictures.
I wrote my own picture maker.
D-pad to move high-lighted square.
Page up/down to change the colour.
The numbers show how much of each colour.
'END' to randomize.

Code: [Select]
restore rainbow
read hue
dim R(hue)
dim G(hue)
dim B(hue)
dim C$(hue)

for a=1 to hue
read R(a)
read G(a)
read B(a)
read C$(a)
next a

tiles=256
dim col(tiles)
dim tot(tiles)

for a=1 to tiles
col(a)=int(ran(hue))+1
next a

sel=1

dim go(16)
dim g(16)

open window 640,512
repeat
setdrawbuf vm
vm=1-vm
setdispbuf vm
clear window

c=peek("port1")

for a=1 to 16
if and(c,2^(a-1))<>0 go(a)=1
if go(a)=1 g(a)=g(a)+1
if g(a)>2 g(a)=2
if g(a)=2 go(a)=0
if and(c,2^(a-1))=0 g(a)=0
next a

if go(8)=1 sel=sel-1
if go(6)=1 sel=sel+1
if go(5)=1 sel=sel-1
if go(7)=1 sel=sel+16
if sel>81 sel=sel-256
if sel<1 sel=sel+256
if sel<1 sel=1
if sel>tiles sel=tiles

for a=1 to tiles
if go(14)=1 col(a)=int(ran(hue))+1
next a

for a=1 to tiles
if sel=a and go(1)=1 col(a)=col(a)-1
if sel=a and go(4)=1 col(a)=col(a)+1
if col(a)<0 col(a)=0
if col(a)>hue  col(a)=hue
next a

for a=1 to hue
tot(a)=0
next a

for a=1 to tiles
for b=1 to hue
if col(a)=b tot(b)=tot(b)+1
next b
next a

for a=1 to hue
text 540,a*20+8,str$(tot(a),"##")
total=total+tot(a)
next a

w=0
h=0
for a=1 to tiles
w=w+1
if w>16 then
w=1
h=h+1
endif
for b=1 to hue
if col(a)=b setrgb 1,R(b),G(b),B(b)
next b
fill rectangle w*20+122,42+(h*20) to w*20+142,62+(h*20)
next a

w=0
h=0
for a=1 to tiles
w=w+1
if w>16 then
w=1
h=h+1
endif

setrgb 1,256,256,256
if sel=a rectangle w*20+122,42+(h*20) to w*20+142,62+(h*20)

next a

for a=1 to hue
setrgb 1,R(a),G(a),B(a)
fill rectangle 570,a*20-5 to 590,a*20+15
'setrgb 1,256,256,256
'text 570,a*20+10,C$(a)
next a

setrgb 1,256,256,256
for a=1 to tiles
for b=1 to hue
if sel=a and col(a)=b rectangle 570,b*20-5 to 590,b*20+15
next b
next a

until (1=0)

label rainbow
data 24
data 256,000,000,"red"
data 256,104,030,"orange"
data 256,256,000,"yellow"
data 000,256,000,"green"
data 000,000,256,"blue"
data 080,100,200,"indigo"
data 050,010,060,"violet"
data 120,060,000,"brown"
data 128,128,128,"grey"
data 256,150,150,"pink"
data 256,200,160,"flesh"
data 256,256,256,"white"
data 220,020,060,"crimson"
data 144,000,032,"burgundy"
data 204,119,034,"ochre"
data 128,128,000,"olive"
data 128,000,000,"maroon"
data 128,055,144,"l.violet"
data 242,133,000,"tangerine"
data 180,090,000,"tan"
data 128,000,000,"d.green"
data 000,128,128,"sky blue"
data 102,000,153,"purple"
data 000,128,000,"d.green"

89
Yabasic / Puzzle Helper
« Last post by bikemadness on June 01, 2025 »
This saves with writing all the letters
of a puzzle where the letter is replaced
by a number. The bottom left number
is for the high-lighted square.
D-pad to move the square.
Stop the program to insert a guess.
(This is already played-blank to play. I have more I've played.)

Code: [Select]
read cross
dim num(cross)
for a=1 to cross
read num(a)
next a
sq=9

read worm
dim digit(worm)
for a=1 to worm
read digit(a)
next a

read caps
dim cnt(caps)
dim ltr$(caps)
dim set(caps)
for a=1 to caps
read ltr$(a)
read set(a)
next a

sel=1
number=1
grid=1

open window 640,512
repeat
setdrawbuf vm
vm=1-vm
setdispbuf vm
clear window
setrgb 1,256,256,256
fill rectangle 0,0 to 640,512
c=peek("port1")

if c=128 sel=sel-1
if c=32 sel=sel+1

if c=16 sel=sel-35
if c=64 sel=sel+35

if sel<1 sel=sel+875
if sel>875 sel=sel-875

if c=8 number=number+1
if number>26 number=1

if and(c,1024)<>0 ctrl=1
if ctrl=1 CT=CT+1
if CT>2 CT=2
if CT=2 ctrl=0
if and(c,1024)=0 CT=0

if and(c,8192)<>0 send=1
if send=1 E=E+1
if E>2 E=2
if E=2 send=0
if and(c,8192)=0 E=0

if ctrl=1 grid=grid+1
if grid>24 grid=1

x=0
y=0
x1=0
y1=0
x2=0
y2=0
x3=0
y3=0

setrgb 1,0,0,0
rectangle 1,1 to 639,511

for h=1 to 26
line 5,h*18+13 to 635,h*18+13
next h

for v=1 to 36
line v*18-13,30 to v*18-13,480
next v

for a=1 to cross
if send=1 num(a)=int(ran(27))
next a

if grid=1 restore gridone

read cross
dim num(cross)
dim cnt(cross)

for a=1 to cross
read num(a)
next a

for a=1 to cross
cnt(a)=0
next a

for a=1 to cross
for b=1 to caps
if num(a)=b cnt(b)=cnt(b)+1
next b
next a

for a=1 to cross
text a*23+20,25,str$(cnt(a))
next a

for a=1 to caps
text a*23+20,12,str$(set(a))
next a

if grid=1 restore gridlineone

read worm
dim digit(worm)

for a=1 to worm
read digit(a)
next a

if grid=1 restore letterone

read caps
dim ltr$(caps)
dim set(caps)

for a=1 to caps
read ltr$(a)
read set(a)
next a

text 0,12,"grid"
text 20,25,str$(grid)

for a=1 to cross
x=x+1
if num(a)=00 fill rectangle x*18-4-sq,y*18+40-sq to x*18-4+sq,y*18+40+sq
if x>34 then
y=y+1
x=0
endif
next a

for a=1 to cross
x2=x2+1
if sel=a then
text 5,500,str$(num(a))
setrgb 1,256,128,0
fill rectangle x2*18-5-(sq-1),y2*18+39-(sq-1) to x2*18-4+(sq-1),y2*18+40+(sq-1)
endif
if x2>34 then
y2=y2+1
x2=0
endif
next a

for a=1 to cross
x3=x3+1
if num(a)=number then
setrgb 1,256,256,0
fill rectangle x3*18-4-sq,y3*18+40-sq to x3*18-5+sq,y3*18+39+sq
endif
if x3>34 then
y3=y3+1
x3=0
endif
next a

setrgb 1,0,0,0

for a=1 to cross
x1=x1+1
for b=1 to caps
if num(a)=b text x1*18-sq,y1*18+51-sq,ltr$(b)
if x1>35 then
y1=y1+1
x1=1
endif
next b
next a

for a=1 to worm
for b=1 to caps
if digit(a)=b text 18*a+160,500,ltr$(b)
next b
next a

for a=1 to worm
line 18*a+160,504 to 18*a+170,504
next a

until (1=0)

label gridone
data 875
data 25,16,06,22,08,00,06,22,08,24,00,12,19,22,19,12,05,00,18,19,04,14,20,24,00,16,19,20,14,00,16,22,11,21,20
data 00,00,08,00,21,08,08,00,05,19,24,05,00,00,08,16,07,14,05,22,05,00,00,04,16,08,24,00,21,16,08,00,06,00,00
data 19,00,09,05,04,05,21,02,05,22,00,08,05,24,20,03,05,00,24,05,03,03,05,22,00,24,15,19,20,06,03,19,24,00,19
data 15,22,16,20,05,04,20,00,09,21,04,05,00,03,05,09,00,22,00,19,03,05,00,05,13,05,24,00,24,04,18,20,14,05,24
data 05,00,00,14,00,13,00,18,00,24,16,22,22,18,00,00,04,06,11,00,00,20,22,19,21,20,00,19,00,14,00,03,00,00,13
data 00,24,20,21,22,00,03,19,12,00,20,21,05,00,15,22,05,09,21,04,20,00,21,25,15,00,10,21,20,00,02,19,08,05,00
data 04,00,05,04,16,08,16,25,21,04,00,04,19,12,05,00,08,05,05,00,05,11,11,24,00,20,05,03,05,02,21,24,05,00,21
data 05,22,05,00,09,21,12,00,22,19,12,00,25,05,22,21,20,00,22,16,15,05,24,00,08,05,07,00,19,21,25,00,22,05,09
data 09,19,25,08,00,20,00,19,03,20,16,24,00,20,21,04,00,22,00,07,05,05,00,10,21,08,05,09,00,19,00,16,02,19,03
data 05,08,24,06,05,00,14,21,24,00,08,19,11,00,03,16,02,19,11,03,05,00,08,06,08,00,22,19,15,00,05,02,05,22,18
data 00,12,00,09,05,20,05,22,00,10,05,20,05,09,00,08,00,24,00,24,00,10,16,22,20,05,00,11,19,24,20,05,00,08,00
data 25,05,20,05,22,00,21,00,24,21,22,00,08,21,15,00,19,15,20,00,24,16,09,00,14,19,12,00,20,00,04,22,19,24,14
data 06,00,16,00,21,08,10,03,06,17,00,03,05,12,21,16,08,00,19,11,19,04,06,24,00,24,05,19,22,04,14,00,24,00,06
data 25,19,15,03,05,00,05,00,15,05,22,00,10,21,12,00,18,05,08,00,15,19,03,00,14,05,25,00,21,00,21,24,24,06,05
data 00,25,00,06,24,06,22,15,00,09,05,11,21,20,00,24,00,18,00,24,00,03,05,02,05,03,00,01,16,21,08,20,00,08,00
data 11,05,19,24,20,00,24,06,11,00,03,21,20,00,10,16,22,05,24,20,24,00,24,05,19,00,03,16,20,00,12,19,10,10,05
data 21,08,04,14,00,07,00,08,16,25,19,09,00,08,19,18,00,09,00,16,19,10,00,20,22,16,06,20,00,15,00,22,05,05,09
data 19,09,16,00,24,19,09,00,22,19,18,00,03,21,03,19,04,00,24,15,03,21,20,00,20,19,22,00,08,16,22,00,19,09,09
data 24,00,22,05,19,24,16,08,05,09,00,22,16,11,24,00,22,19,20,00,19,11,06,20,00,22,05,25,16,20,05,24,20,00,18
data 00,24,08,19,12,00,12,16,09,00,24,19,04,00,05,25,05,22,19,03,09,00,04,19,15,00,09,16,20,00,15,19,24,24,00
data 19,00,00,12,00,25,00,07,00,10,21,24,14,18,00,00,07,21,12,00,00,24,13,21,05,09,00,11,00,14,00,11,00,00,05
data 12,22,21,03,03,05,09,00,23,21,08,04,00,05,03,10,00,09,00,25,16,15,00,03,19,21,09,00,24,19,21,03,21,08,12
data 16,00,20,05,05,08,19,12,05,22,00,19,04,20,16,22,24,00,20,16,25,19,20,16,00,08,06,22,20,06,22,05,09,00,16
data 00,00,04,00,24,06,25,00,22,05,19,03,00,00,22,16,06,20,21,08,05,00,00,22,05,05,13,00,05,03,13,00,05,00,00
data 19,24,14,05,24,00,24,14,16,09,00,24,16,03,05,25,08,00,15,16,08,21,05,24,00,09,05,05,15,00,24,04,19,22,18

label gridlineone
data 17
data 15,19,20,22,21,04,21,19,00,04,03,19,22,13,24,16,08

label letterone
data 26
data "J",01
data "V",02
data "L",03
data "C",04
data "E",05
data "U",06
data "W",07 rem start letter
data "N",08
data "D",09
data "F",10
data "B",11
data "G",12
data "K",13 rem start letter
data "H",14
data "P",15
data "O",16
data "X",17
data "Y",18
data "A",19
data "T",20
data "I",21
data "R",22
data "Z",23
data "S",24
data "M",25
data "Q",26 rem unused

90
Yabasic / String Inserting.
« Last post by bikemadness on May 31, 2025 »
D-pad to choose and change.
Or 'END' for random.

Code: [Select]
restore names
read title
dim noun$(title)
dim name$(title)
for a=1 to title
read noun$(a)
read name$(a)
next a

restore pain
read level
dim con$(level)
dim hurt$(level)
for a=1 to level
read con$(a)
read hurt$(a)
next a

restore body
read part
dim human$(part)
for a=1 to part
read human$(a)
next a

restore keys
read button
dim key$(button)
dim ctrl$(button)
for a=1 to button
read key$(a)
read ctrl$(a)
next a

restore friends
read past
dim names$(past)
dim surnames$(past)
for a=1 to past
read names$(a)
read surnames$(a)
next a

dim g(16)
dim go(16)

wrd=1
sel1=1
sel2=1
sel3=1
off=1
com=1

open window 640,512
repeat
setdispbuf vm
vm=1-vm
setdrawbuf vm
clear window
c=peek("port1")

for a=1 to 16
if and(c,2^(a-1))<>0 go(a)=1
if go(a)=1 g(a)=g(a)+1
if g(a)>2 g(a)=2
if g(a)=2 go(a)=0
if and(c,2^(a-1))=0 g(a)=0
next a

if go(4)=1 com=com+1
if com>2 com=1

if go(11)=1 off=off+1
if off>2 off=1

for a=1 to 16
if off=2 text 480,a*12+12,str$(a,"##")+" "+str$(2^(a-1))
next a

for a=1 to button
if off=2 and com=1 text 470-len(key$(a))*10,a*12+12,key$(a)
if off=2 and com=2 text 470-len(ctrl$(a))*10,a*12+12,ctrl$(a)
next a

if off=2 then
setrgb 1,256,256,256
text 00,260,"sentence "+str$(len(medical$))
text 40,275,"name "+str$(len(name$),"##")
text 40,290,"pain "+str$(len(hurt$),"##")
text 40,305,"body "+str$(len(human$),"##")
endif

if off=2 text 500,268,"past friends"

if off=2 then
text 500,280,"("+str$(past)+")"
for a=1 to past
text 530-len(names$(a))*10,a*12+280,names$(a)+" "+surnames$(a)
next a
endif

if go(8)=1 wrd=wrd-1
if go(6)=1 wrd=wrd+1
if wrd<1 wrd=1
if wrd>3 wrd=3

if off=1 then
if wrd=1 hilite=1
if wrd=2 hilite=4
if wrd=3 hilite=8
endif

if off=1 then

if wrd=1 and go(5)=1 sel1=sel1-1
if wrd=1 and go(7)=1 sel1=sel1+1
if sel1<1 sel1=1
if sel1>title sel1=title

if wrd=2 and go(5)=1 sel2=sel2-1
if wrd=2 and go(7)=1 sel2=sel2+1
if sel2<1 sel2=1
if sel2>level sel2=level

if wrd=3 and go(5)=1 sel3=sel3-1
if wrd=3 and go(7)=1 sel3=sel3+1
if sel3<1 sel3=1
if sel3>part sel3=part

endif

for a=1 to title
if sel1=a name$=name$(a)
if sel1=a and off=2 text 90,150,str$(a,"##")+" of "+str$(title)
if sel1=a and noun$(a)="m" noun$="his"
if sel1=a and noun$(a)="f" noun$="her"
next a

for a=1 to level
if sel2=a hurt$=hurt$(a)
if sel2=a and off=2 text 90,165,str$(a,"##")+" of "+str$(level)
if sel2=a and con$(a)="s" con$="a"
if sel2=a and con$(a)="p" con$="an"
next a

for a=1 to part
if sel3=a human$=human$(a)
if sel3=a and off=2 text 90,180,str$(a,"##")+" of "+str$(part)
next a

if go(14)=1 then
sel1=int(ran(title))+1
sel2=int(ran(level))+1
sel3=int(ran(part))+1
endif

'if go(1)=1 hilite=hilite+1
'if hilite>8 hilite=1
'if go(4)=1 hilite=int(ran(8))+1

medical$=" "+name$+" has "+con$+" "+hurt$+" pain in "+noun$+" "+human$

gap=0
for a=1 to len(medical$)
if mid$(medical$,a,1)=" " gap=gap+1

if hilite=gap and off=1 then
setrgb 1,0,256,0
else
setrgb 1,256,256,256
endif

text a*10+10,240,mid$(medical$,a,1)
next a

until (1=0)

label names
data 100
data "m","vance"
data "f","ruth"
data "m","paul"
data "f","rachael"
data "f","marilyn"
data "m","patrick"
data "m","kelly"
data "f","penny"
data "m","brian"
data "m","chris"
data "f","caroline"
data "f","joanne"
data "f","sarah"
data "m","pender"
data "m","dennis"
data "f","iris"
data "m","mark"
data "f","shannon"
data "f","debbie"
data "f","estelle"
data "f","joanne"
data "m","jason"
data "m","nick"
data "f","linda"
data "m","fred"
data "m","chris"
data "m","daryl"
data "m","thom"
data "m","raymond"
data "f","joanne"
data "m","alex"
data "m","graham"
data "f","christine"
data "f","marion"
data "f","helene"
data "f","diane"
data "f","annette"
data "m","don"
data "m","john"
data "m","anthony"
data "m","geoffrey"
data "f","jaya"
data "f","lynette"
data "f","jessica"
data "m","jason"
data "f","raera"
data "f","melanie"
data "f","melody"
data "f","carmen"
data "f","ida"
data "m","rough guy"
data "m","greek guy"
data "m","chris"
data "m","arthur"
data "m","ian"
data "m","a.k."
data "m","bruce"
data "m","peter"
data "m","nigel"
data "m","manwell"
data "m","andy"
data "f","sarah"
data "f","karen"
data "m","darryl"
data "f","ethel"
data "f","moana"
data "m","martyn"
data "m","sandy"
data "m","twink"
data "m","patrick"
data "m","peter"
data "m","jamie"
data "m","robert"
data "m","richard"
data "f","janice"
data "m","lance"
data "m","nigel"
data "m","ben"
data "m","lyall"
data "m","david"
data "f","chrissy"
data "m","kevin"
data "m","roger"
data "m","kerri"
data "m","eric"
data "m","pray guy"
data "m","darian"
data "m","graeme"
data "m","jeremy"
data "m","jim"
data "m","pete"
data "m","sean"
data "m","peter"
data "m","dave"
data "m","mark"
data "m","ashwad"
data "m","sarne"
data "f","andrea"
data "f","erika"
data "m","angelo"

label pain
data 51
data "s","sharp"
data "p","undetectable"
data "s","minor"
data "p","insignificant"
data "s","worrisome"
data "p","acute"
data "s","moderate"
data "p","important"
data "s","troublesome"
data "p","important"
data "s","throbbing"
data "p","undesirable"
data "s","grave"
data "p","untreated"
data "s","painful"
data "p","increasing"
data "s","terrible"
data "p","unsufferable"
data "s","dangerous"
data "p","irritating"
data "s","worrying"
data "p","inflamed"
data "s","major"
data "p","unsightly"
data "s","life-threatening"
data "p","incredible"
data "s","stinging"
data "p","itchy"
data "s","bearable"
data "p","ongoing"
data "s","piercing"
data "p","odd"
data "s","grim"
data "p","extruciating"
data "s","sensitive"
data "p","unsafe"
data "s","critical"
data "p","alarming"
data "s","significant"
data "p","unpleasant"
data "s","severe"
data "p","annoying"
data "s","serious"
data "p","aggrevating"
data "s","stabbing"
data "p","awful"
data "s","dull"
data "p","intense"
data "s","dire"
data "p","unbearable"
data "s","delicate"

label body
data 36
data "head"
data "eyes"
data "ears"
data "cheeks"
data "mouth"
data "nose"
data "neck"
data "shoulders"
data "back"
data "ribs"
data "torso"
data "left-arm"
data "right-arm"
data "left-hand"
data "right-hand"
data "upperarms"
data "forearms"
data "elbows"
data "hands"
data "wrists"
data "fingers"
data "chest"
data "waist"
data "hip"
data "buttocks"
data "ass"
data "left-leg"
data "right-leg"
data "thighs"
data "knees"
data "shins"
data "ankles"
data "left-foot"
data "right-foot"
data "feet"
data "toes"

label keys
data 16
data "page up","select"
data "F1","L3"
data "F2","R3"
data "page down","start"
data "up arrow","up"
data "right arrow","right"
data "down arrow","down"
data "left arrow","left"
data "menu","L2"
data "tab","R2"
data "control","L1"
data "capitals","R1"
data "home","triangle"
data "end","circle"
data "delete","cross"
data "insert","square"

label friends
data 19
data "david","teleai"
data "joanna","teleai"
data "tobey","hall"
data "nicola","hall"
data "lego","electronic"
data "mark","norris"
data "terry","flowers"
data "shane","brown"
data "victor","sutherland"
data "rodney","elmes"
data "gary","muddle"
data "dale","swift"
data "jan","morrison"
data "richard","deslauriers"
data "patrick","cadogen"
data "bernadette","cadogen"
data "martyn","salisbury"
data "mark","maloney"
data "vicky","?"
data "roger","rush"

Pages: 1 2 3 4 5 6 7 8 [9] 10