Version 1.21 -- 2006-03-06
Size: about 2920 bytes (I don't know exactly because i write in Swedish)
This is my biggest program ever but it's worth every single byte!
Features: ¤ Autosave and autofetch in picture 6
¤ Pen and eraser
¤ Draw multiple lines
¤ Fill tool with user-definied x-pitch and y-pitch - make areas black, gray, horizontal or vertical black or white striped, checked
¤ Write text
¤ Write long numbers like Pi with a touch of a button
¤ Draw easy, fast and correct: circles, ellipses, rectangels, squares, rotated squares, curves or regular polygons
¤ Layout settings
¤ Handles all 6 picture memories
Version 1.21
Fixed small bug that stopped pen/eraser.
Text tool handles spaces better.
Version 1.20
Eraser as fast as pen!
Both eraser and pen now blinks, and they stop blinking faster.
Text tool handles "W" and "M" better.
Number writer (and text tool) works fine in black areas.
Fixed bug causing an error after graph drawing.
Just one program. (smaller size)
Fixed typo saying "RclText".
Version 1.11:
Eraser blinks again.
Version 1.10:
New function (curve)
Fixed remaining menu
Faster pen and eraser
Faster and more secure text writer
Bug: The fill tool maybe don't work perfect in all situations. I'll work at it.
Instructions: Just to much to write, you'll understand when you run it. It's easy!
When the calculator asks you for a number: 1=yes 0=no.
Introduction to Fill tool: Checked: 3 ; 3 Black striped: 3 ; 1000 White striped: 3 ; 1 Black: 1 ; 1000 Gray: 2 ; 2
-> means right arrow.
=> means the right arrow in the "jump" menu.
\= means the “not equal to” symbol.
_ means the display symbol
File name:"~~DRAW~~"
'VER 1.21
ViewWindow 1,127,10,1,63,10
Deg
LabelOff
RclPict 6
X<1 Or X>127=>64->X
Y<1 Or Y>63=>32->Y
Int X->X
Int Y->Y
Lbl 0
ClrText
Locate 1,1,"~~~~DRAW--BY OLLE~~~~"
Locate 2,2,"1 PEN"
Locate 2,3,"2 ERASER"
Locate 2,4,"3 LINES"
Locate 2,5,"4 FIGURES"
Locate 2,6,"5 FILL"
Locate 2,7,"6 TEXT"
Locate 12,2,"7 STORE"
Locate 12,3,"8 FETCH"
Locate 12,4,"9 NUMBER"
Locate 12,5,"0 SETTINGS"
Locate 12,6,"DEL DELETE"
Locate 12,7,"EXE VIEW"
While 1
Do
LpWhile Getkey=31
Do
Getkey->K
LpWhile K=0
K=31=>Goto 1
K=44=>Goto 9
K=72=>Goto A
K=62=>Goto B
K=52=>Goto C
K=73=>Goto D
K=63=>Goto E
K=53=>Goto F
K=74=>Goto G
K=64=>Goto H
K=54=>Goto I letter i
K=71=>Goto J
WhileEnd
Lbl 1
Text 64-Y,X,""_
Goto 0
Lbl D
ClrText
Locate 5,1,"-- FIGURES --"
Locate 1,2,"1 CIRCLE o;" degree sign
Locate 1,3,"2 ELLIPSE Ø" strange O with a vertical line across it
Locate 1,4,"3 RECTANGLE []"
Locate 1,5,"4 SQUARE []"
Locate 1,6,"5 SQUARE <>"
Locate 1,7,"6 POLYGON <=>"
Locate 12,2,"7 CURVE )"
Locate 12,3,"MENU BACK"
While 1
Do
LpWhile Getkey=73
Do
Getkey->K
LpWhile K=0
K=72=>Goto M
K=62=>Goto N
K=52=>Goto O letter o
K=73=>Goto P
K=63=>Goto Q
K=53=>Goto R
K=74=>Goto S
K=48=>Goto 0
WhileEnd
Lbl G
ClrText
Do
"STORE IN NUMBER"?->A
A=6=>"IN USE BY DRAW!"
LpWhile A=6
A=1=>StoPict 1
A=2=>StoPict 2
A=3=>StoPict 3
A=4=>StoPict 4
A=5=>StoPict 5
Goto 0
Lbl H
ClrText
"FETCH NUMBER"?->A
A=1=>RclPict 1
A=2=>RclPict 2
A=3=>RclPict 3
A=4=>RclPict 4
A=5=>RclPict 5
A=6=>RclPict 6
Goto 0
Lbl I letter i
Plot X,Y_
ClrText
"WRITE NUMBER"?->A
Text 64-Y,X-1," "
Text 64-Y,X+1,A
StoPict 6
Goto I letter i
Lbl J
AxesOff
"AXES"?->A
A=>AxesOn
CoordOff
"COORDINATES"?->A
A=>CoordOn
GridOff
"GRID"?->A
A=>GridOn
"X-SCALE"?->Xscl in VARS / VWIN
"Y-SCALE"?->Yscl
"GO TO X"?->X
"GO TO Y"?->Y
RclPict 6
Goto 0
Lbl A
Lbl B
Plot X,Y_
Do
LpWhile Getkey=31
While 1
While Not Getkey
PlotOn X,Y
Getkey->Break
PlotOff,X,Y
WhileEnd
Getkey->L
K=72=>PlotOn X,Y
K=62=>PlotOff X,Y
L=31=>Break
L=48=>Break
L=38=>Dsz X
L=27=>Isz X
L=37=>Dsz Y
L=28=>Y+1->Y
WhileEnd
StoPict 6
L=48=>Goto 0
Goto A
Lbl C
Plot X,Y_
While 1
X->A
Y->B
Plot X,Y_
F-Line A,B,X,Y
StoPict 6
WhileEnd
Lbl E
Plot X,Y_
ClrText
Do
"X-PITCH"?->M
"Y-PITCH"?->N
LpWhile M=0 Or N=0
x->A
64-Y->B
For A->C To 1 Step-1
PxlTest B,C
Ans=>Break
Next
C+1->E
Getkey=48=>Goto 0
For A->C To 127
PxlTest B,C
Ans=>Break
Next
C-1->F
For E->C To F
Getkey=48=>Goto 0
For B+1->D To 63
PxlTest D,C
Ans=>Break
(Frac (C/M)=0)+(Frac (D/N)=0)=1=>PxlOn D,C Tip! See bottom.
Next
StoPict 6
Getkey=48=>Goto 0
For B->D To 1 Step -1
PxlTest D,C
Ans=>Break
(Frac (C/M)=0)+(Frac (D/N)=0)=1=>PxlOn D,C Tip! See bottom.
Next
StoPict 6
Next
Getkey=48=>Goto 0
Goto E
Lbl F
Plot X,Y_
X->A~C
64-Y->B
While 1
Getkey->K
LpWhile Getkey=K
Do
Getkey->K
LpWhile K=0
K=31=>Goto F
K=48=>Goto 0
A=C=>Text B,A-1," "
Text B,A+2," "
K=61=>Text B,A," "
And so on...
StoPict 6
A+6->A
If A>123
Then C->A
B+6->B
IfEnd
B>58=>Goto F
WhileEnd
Lbl M
Plot X,Y_
X->A
Y->B
Plot X,Y_
squareroot((X-A)^2+(Y-B)^2)/2->C
(X+A)/2->A
(Y-B)/2->B
Circle A,B,C
StoPict 6
Getkey=48=>Goto 0
Goto M
Lbl R
ClrText
Do
"NUMBER OF CORNERS"?->M
LpWhile M=0
360/M->M
Lbl N
K=62=>5->M
Plot X,Y_
X->A
Y->B
Plot X,Y_
X-A->C
Y-B->D
X->G
B+D->H
For 0->N To 360 Step M
Csin N+X->E
Dcos N+B->F
F-Line G,H,E,F
E->G
F->H
Next
StoPict 6
Getkey=48=>Goto 0
K=62=>Goto N
Goto R
Lbl O letter o
Plot X,Y_
X->A
Y->B
Plot X,Y_
F-Line A,B,A,Y
F-Line A,Y,X,Y
F-Line X,Y,X,B
F-Line X,B,A,B
StoPict 6
Getkey=48=>Goto 0
Goto 0 letter o
Lpl P
Plot X,Y_
X->A
Y->B
Plot X,Y_
Abs (X-A)->C
Abs (Y-B)->D
C>D=>C->D
X<A=>-D->C
Y<B=>-D->D
F-Line A,B,A,B+D
F-Line A,B+D,A+C,B+D
F-Line A+C,B+D,A+C,B
F-Line A+C,B,A,B
StoPict 6
Getkey=48=>Goto 0
Goto P
Lbl Q
Plot X,Y_
X->A
Y->B
Plot X,Y_
(X-A)/2->M
(Y-B)/2->N
F-Line A,B,A+M,B-M+N
F-Line A+M,B-M+N,X,Y
F-Line X,Y,A+M-N,B+M+N
F-Line A+M-N,B+M+N,A,B
StoPict 6
Getkey=48=>Goto 0
Goto Q
Lbl S
Plot X,Y_
X->A
Y->B
Plot X,Y_
A->G
B->H
For 0->N To 90 Step 5
(X-A)sin N+A->E
(B-Y)cos N+Y->F
F-Line G,H,E,F
E->G
F->H
Next
StoPict 6
Getkey=48=>Goto 0
Goto s
Lbl 9
"DELETE THE PICTURE"?->A
A\=1=>Goto 0
Cls
StoPict 6
Goto 0
Tip!Try to change =1 to =0 or =2 or nothing or <2 for different patterns! (see lines marked with "Tip!")