home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AMOS PD CD
/
amospdcd.iso
/
501-525
/
apd520
/
asstd_programs
/
makescreen.amos
/
makescreen.amosSourceCode
< prev
next >
Wrap
AMOS Source Code
|
1991-01-02
|
3KB
|
92 lines
' Example for creating screens which use settings
' from preferences including mouse shape and key speed etc.
' (TL$ = Title. SN = Screen number)
' Written by Mike Warren. January 1991.
'
If Screen>-1 Then Screen Close Screen
MAKESCREEN["Workbench Screen",0]
Locate 12,8
If Length(13)=232
Print "This screen was created using settings from Preferences"
Else
Print " Devs/System-configuration file was not found"
Print At(15,);"Screen was created using default settings"
End If
Wait Key : Screen Close Screen
MAKESCREEN["",2]
Print At(20,8);"This is screen 2. (No title specified)"
Wait Key
Run "MenuProgram"
'
Procedure MAKESCREEN[TL$,SN]
If Length(13)<1
If Exist("devs/system-configuration")
Reserve As Work 13,232
Bload "devs/system-configuration",13
FS=1
End If
End If
Get Rom Fonts
If Length(13)=232
Z=Start(13)
X=1+Val(Hex$(Peek(Z+15),1)+Hex$(Peek(Z+17),1)-"$"+Hex$(Peek(Z+18),2)-"$")/120
Y=1+Val(Hex$(Peek(Z+7),1)+Hex$(Peek(Z+9),1)-"$"+Hex$(Peek(Z+10),2)-"$")/120
Key Speed X,Y
Hide On
Screen Open SN,640,260,4,Hires
Flash Off : Curs Off
Palette 0,0,0,0,,,,,,,,,,,,,0,0,0
If Peek(Z)=9
X=1
Else
X=2
End If
Set Font X
If FS=1
For X=32 To 95 Step 4
W$=Bin$(Peek(Z+X),8)-"%"+Bin$(Peek(Z+X+1),8)-"%"
X$=Bin$(Peek(Z+X+2),8)-"%"+Bin$(Peek(Z+X+3),8)-"%"
For Y=1 To 16
Ink 0
Y$=Mid$(W$,Y,1) : If Y$="1" : Ink 19 : End If
Z$=Mid$(X$,Y,1) : If Z$="1" : Ink 18 : End If
If Val(Y$)=1 and Val(Z$)=1 : Ink 17 : End If
Plot A,B : Inc A : If A>15 : A=0 : Inc B : End If
Next
Next
Get Sprite 1,0,0 To 16,16
Hot Spot 1,255-Peek(Z+100),256-Peek(Z+101)
Change Mouse 4
End If
Show On : Cls 0
X=Val(Hex$(Peek(Z+110),1)+Hex$(Peek(Z+111),2)-"$")
Colour Back X : Colour 0,X
Colour 1,Val(Hex$(Peek(Z+112),1)+Hex$(Peek(Z+113),2)-"$")
Colour 2,Val(Hex$(Peek(Z+114),1)+Hex$(Peek(Z+115),2)-"$")
Colour 3,Val(Hex$(Peek(Z+116),1)+Hex$(Peek(Z+117),2)-"$")
Colour 19,Val(Hex$(Peek(Z+102),1)+Hex$(Peek(Z+103),2)-"$")
Colour 18,Val(Hex$(Peek(Z+104),1)+Hex$(Peek(Z+105),2)-"$")
Colour 17,Val(Hex$(Peek(Z+106),1)+Hex$(Peek(Z+107),2)-"$")
X=Abs((Peek(Z+118)-128)*1.05) : X=(X/16)*16
Y=Peek(Z+119)-212 : If Y<1 : Y=Y+256 : End If
Screen Display SN,X,Y,,
Limit Mouse X,Y To X+320,Y+260
For X=0 To 16
C0$=Bin$(Peek(Z+33),8)-"%"+Bin$(Peek(Z+34),8)-"%"
Next
Else
Screen Open SN,640,260,4,Hires
Flash Off : Key Speed 20,6
Palette 90,4095,2,3968,,,,,,,,,,,,,,4042,0,3362
Colour Back 90
End If
Pen 1 : Paper 0 : Curs Off : Cls 0
Set Curs 192,192,192,192,192,192,192,192
If TL$<>""
Ink 1 : Bar 0,0 To 640,9
Ink 0 : Text 5,7,TL$
Bar 587,0 To 588,9 : Bar 611,0 To 612,9 : Bar 635,0 To 636,9
Box 592,1 To 604,6 : Box 619,2 To 631,8 : Ink 2
Bar 616,1 To 620,6 : Bar 616,1 To 628,2 : Bar 595,3 To 607,8
End If
End Proc