{{htmlmetatags>metatag-robots=()
metatag-title=( | ugBASIC User Manual)
metatag-keywords=(ugBASIC,Commodore 64,Commodore PLUS/4,ZX Spectrum)
metatag-description=(An isomorphic language for retrocomputers)
metatag-media-og:image=(:ugbasic:logo-ugbasic-fb.png)
metatag-og:title=( | ugBASIC User Manual)
metatag-og:description=(An isomorphic language for retrocomputers)
}}
====== ugBASIC Manuale Utente ======
===== =====
==== SCOPO ====
==== SORGENTE ====
BITMAP ENABLE(16)
CLS
'ZXASCII
'AUTO -1
'PROG /demos/3D/lightsource_ball
'CHANGED FALSE
10 REM Sphere shader. Slow as. lx,ly,lz=light source coords
' 20 palette 255,$FFFFFF: rainbow 0 to 255: screen lock:
' for f=0 to 400: plot ink rnd*255;rnd*scrw,rnd*scrh: next f
'30
llx = 0
lly = 0
xc=SCREEN WIDTH/3
yc=SCREEN HEIGHT/2
CONST r=32
amb=0.03
k=2
n=10
mxp=(1-amb)*256
CONST r2=r*r
' DIM no(r*2+1,r*2+1)
INK WHITE
PRINT "ok!"
FOR x=-r TO r
' FOR y=-r TO r
' aaa = RND(n)
'no(x+r,y+r)=aaa
PRINT "ok2"
' NEXT
NEXT
'mousex=0
'mousey=0
'DO
' lx=xc-mousex
' ly=yc-mousey
' lz=-75
' IF lx<>llx OR ly<>lly THEN : GOSUB 1000 : ENDIF
' llx = lx
' lly = ly
' WAIT VBL
'LOOP
'1000
' l=SQR(lx*lx+ly*ly+lz*lz)
' nlx=lx/l
' nly=ly/l
' nlz=lz/l
' FOR x=-r TO r
' x2=x*x
' FOR y=-r TO r
' y2=y*y
' IF x2+y2<=r2 THEN
' v2=SQR(r2-x2-y2)
' l=SQR(x2+y2+v2*v2)
' v0=x/l
' v1=y/l
' v2=v2/l
' d=nlx*v0+nly*v1+nlz*v2
' DIM ppp AS SIGNED DWORD
' IF d<0 THEN
' ppp = -d^k
' ELSE
' ppp = 0
' ENDIF
' DIM qqq AS SIGNED WORD
' DIM rrr AS FLOAT
' qqq = ppp
' rrr = qqq
' i=mxp*(rrr+amb)-no(x+r,y+r)
' PLOT x+xc,y+yc,i
' ENDIF
' NEXT
' NEXT
' RETURN
'
==== FILE ====
* ''[[https://github.com/spotlessmind1975/ugbasic/tree/main/examples/contrib_rt.bas|contrib_rt.bas]]''
==== COME ESEGUIRLO ====
=== Atari 400/800 ===
Per poter eseguire l'esempio, è necessario disporre dell'emulatore Altirra, e in particolare che l'eseguibile ''x64sc'' sia accessibile.
Digitare quindi il seguente comando:
# Linux
ugbc.atari contrib_rt.bas -o example.xex
altirra example.xex
# Windows
ugbc.atari.exe contrib_rt.bas -o example.xex
altirra example.xex
=== Atari 600XL/800XL/1200XL/XG(SE) ===
Per poter eseguire l'esempio, è necessario disporre dell'emulatore Altirra, e in particolare che l'eseguibile ''x64sc'' sia accessibile.
Digitare quindi il seguente comando:
# Linux
ugbc.atarixl contrib_rt.bas -o example.xex
altirra example.xex
# Windows
ugbc.atarixl.exe contrib_rt.bas -o example.xex
altirra example.xex
=== Commodore 64 ===
Per poter eseguire l'esempio, è necessario disporre dell'emulatore VICE, e in particolare che l'eseguibile ''x64sc'' sia accessibile.
Digitare quindi il seguente comando:
# Linux
ugbc.c64 contrib_rt.bas -o example.prg
x64sc example.prg
# Windows
ugbc.c64.exe contrib_rt.bas -o example.prg
x64sc example.prg
=== Commodore PLUS/4 ===
== Usando YAPE ==
Per poter eseguire l'esempio, è necessario disporre dell'emulatore YAPE, e in particolare che l'eseguibile ''yape'' sia accessibile.
Digitare quindi il seguente comando:
# Linux
ugbc.plus4 contrib_rt.bas -o example.prg
yape example.prg
# Windows
ugbc.plus4.exe contrib_rt.bas -o example.prg
yape example.prg
== Usando VICE ==
Per poter eseguire l'esempio, è necessario disporre dell'emulatore VICE, e in particolare che l'eseguibile ''xplus4'' sia accessibile.
Digitare quindi il seguente comando:
# Linux
ugbc.plus4 contrib_rt.bas -o example.prg
xplus4 example.prg
# Windows
ugbc.plus4.exe contrib_rt.bas -o example.prg
xplus4 example.prg
=== Dragon 32 ===
Per poter eseguire l'esempio, è necessario disporre dell'emulatore XROAR, e in particolare che l'eseguibile ''x64sc'' sia accessibile.
Digitare quindi il seguente comando:
# Linux
ugbc.d32 contrib_rt.bas -o example.bin
xroar -rompath (percorso ROM) example.bin
# Windows
ugbc.d32.exe contrib_rt.bas -o example.bin
xroar.exe -rompath (percorso ROM) example.bin
=== Dragon 64 ===
Per poter eseguire l'esempio, è necessario disporre dell'emulatore XROAR, e in particolare che l'eseguibile ''x64sc'' sia accessibile.
Digitare quindi il seguente comando:
# Linux
ugbc.d64 contrib_rt.bas -o example.bin
xroar -rompath (percorso ROM) example.bin
# Windows
ugbc.d64.exe contrib_rt.bas -o example.bin
xroar.exe -rompath (percorso ROM) example.bin
=== PC128 Olivetti Prodest ===
Per poter eseguire l'esempio, è necessario disporre dell'emulatore DCMOTO, e in particolare che l'eseguibile ''x64sc'' sia accessibile.
Digitare quindi i seguenti comandi:
# Linux
ugbc.pc128op contrib_rt.bas -o example.bin
dcmoto example.bin
(scegliere example.bin)
(scegliere BASIC 128)
CLEAR,&H2FFF: LOADM"CASS:",R: EXEC
# Windows
ugbc.pc128op.exe contrib_rt.bas -o example.bin
dcmoto example.bin
(scegliere BASIC 128)
CLEAR,&H2FFF: LOADM"CASS:",R: EXEC
=== Thomson MO5 ===
Per poter eseguire l'esempio, è necessario disporre dell'emulatore DCMOTO, e in particolare che l'eseguibile ''x64sc'' sia accessibile.
Digitare quindi i seguenti comandi:
# Linux
ugbc.mo5 contrib_rt.bas -o example.bin
dcmoto example.bin
(scegliere example.bin)
(scegliere BASIC 128)
CLEAR,&H2FFF: LOADM"CASS:",R: EXEC
# Windows
ugbc.mo5.exe contrib_rt.bas -o example.bin
dcmoto example.bin
(scegliere BASIC 128)
CLEAR,&H2FFF: LOADM"CASS:",R: EXEC
=== Commodore VIC-20 ===
Per poter eseguire l'esempio, è necessario disporre dell'emulatore XEMU, e in particolare che l'eseguibile ''xmega65'' sia accessibile.
Digitare quindi il seguente comando:
# Linux
ugbc.vic20 contrib_rt.bas -o example.prg
xvic --memory 24k example.prg
# Windows
ugbc.vic20.exe contrib_rt.bas -o example.prg
xvic --memory 24k example.prg
=== ZX Spectrum ===
Per poter eseguire l'esempio, è necessario disporre dell'emulatore Speccy, e in particolare che l'eseguibile ''speccy'' sia accessibile.
Digitare quindi il seguente comando:
# Linux
ugbc.zx contrib_rt.bas -o example.tap
Speccy example.tap
# Windows
ugbc.zx.exe contrib_rt.bas -o example.tap
Speccy example.tap
=== ColecoVision ===
Per compilare e mandare in esecuzione l'esempio, hai bisogno di avere l'emulatore openMsx oppure il BlueMSX, e in particolare che il suo eseguibile sia accessibile.
Dopo di che, digita questo comando sulla linea di comando:
== openMSX ==
# Linux
ugbc.coleco contrib_rt.bas -o example.rom
openmsx -machine \"COL - ColecoVision\" -cart example.rom
# Windows
ugbc.coleco.exe contrib_rt.bas -o example.rom
bluemsx -machine \"COL - ColecoVision\" example.rom
== blueMSX ==
# Linux
ugbc.coleco contrib_rt.bas -o example.rom
bluemsx /machine \"COL - ColecoVision\" /rom1 example.rom
# Windows
ugbc.coleco.exe contrib_rt.bas -o example.rom
bluemsx /machine \"COL - ColecoVision\" /rom1 example.rom
=== SEGA SC-3000 ===
Per compilare e mandare in esecuzione l'esempio, hai bisogno di avere l'emulatore BlueMSX, e in particolare che il suo eseguibile sia accessibile.
Dopo di che, digita questo comando sulla linea di comando:
# Linux
ugbc.sc3000 contrib_rt.bas -o example.rom
bluemsx /machine \"SEGA - SC-3000\" /rom1 example.rom
# Windows
ugbc.sc3000.exe contrib_rt.bas -o example.rom
bluemsx /machine \"SEGA - SC-3000\" /rom1 example.rom
=== SEGA SG-1000 ===
Per compilare e mandare in esecuzione l'esempio, hai bisogno di avere l'emulatore BlueMSX, e in particolare che il suo eseguibile sia accessibile.
Dopo di che, digita questo comando sulla linea di comando:
# Linux
ugbc.sg1000 contrib_rt.bas -o example.rom
bluemsx /machine \"SEGA - SG-1000\" /rom1 example.rom
# Windows
ugbc.sg1000.exe contrib_rt.bas -o example.rom
bluemsx /machine \"SEGA - SG-1000\" /rom1 example.rom
==== PROBLEMI? ====
Se hai trovato un problema nel cercare di eseguire questo esempio, se pensi che ci sia un bug o, più semplicemente, vorresti che fosse migliorato, [[https://github.com/spotlessmind1975/ugbasic/issues/new?title=MIGLIORARE |apri una segnalazione]] su GitHub per questo specifico esempio. Grazie!===== POWERED BY =====
[[:it:ugbasic:user:examples|{{ :ugbasic:user:logo-ugbasic.png?nolink&600 |}}]]