{{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 ====
RANDOMIZE:x%=0 : y%=0 : a$="" : b$=""
DIM bkg(512)= #{$80,$80,$80,$80,$80,$a7,$af,$af,$80,$80,$80,$80,$80,$80,$80,$80,$ad,$af,$af,$af,$c5,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,_
$ac,$ad,$af,$af,$af,$af,$af,$af,$80,$80,$80,$80,$80,$80,$80,$80,$80,$ad,$af,$af,$c4,$c2,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,_
$80,$80,$80,$ae,$ad,$af,$af,$af,$a2,$80,$80,$80,$80,$80,$80,$80,$80,$80,$ad,$af,$aa,$ca,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,_
$80,$a1,$a3,$ab,$a3,$a3,$ab,$af,$af,$a2,$80,$80,$80,$80,$80,$80,$80,$80,$80,$ad,$af,$c5,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,_
$80,$a7,$af,$af,$af,$df,$dd,$df,$ac,$ac,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$ad,$ab,$c9,$c2,$80,$ff,$ff,$bb,$80,$80,$80,$80,_
$a7,$af,$af,$80,$df,$df,$80,$da,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$ad,$ab,$c4,$c8,$cc,$cc,$bf,$ba,$c3,$c6,$cc,_
$af,$af,$80,$80,$dd,$df,$df,$da,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$ad,$af,$aa,$ff,$ff,$bf,$ba,$80,$80,$80,_
$af,$ab,$a2,$80,$d4,$df,$da,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$ad,$aa,$bf,$ff,$bf,$a2,$80,$80,$80,_
$af,$af,$af,$ab,$a2,$dd,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$a8,$fc,$ff,$bf,$ad,$a2,$80,$80,_
$af,$af,$af,$af,$af,$ab,$a2,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$fc,$bc,$80,$ad,$a2,$80,_
$ac,$ac,$ac,$ac,$ac,$ac,$ac,$a8,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$98,$98,$98,$80,$80,$ac,$80,_
$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,_
$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,_
$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,_
$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,_
$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80}
EMPTYTILE=128
CLS
FOR x=0 TO 511
POKE 1024+x, bkg(x)
NEXT
DO
WAIT #1000 MILLISECONDS
FOR x=352 TO 511
POKE 1024+x,128 :REM CLS
NEXT
LOCATE 3,12:PRINT CHR(133);CHR(139);STRING(CHR(143),14); :REM DRAW DIALOG BOX
LOCATE 4,13:PRINT CHR(141);STRING(CHR(143),14);
LOCATE 5,14:PRINT STRING(CHR(143),14);
LOCATE 5,15:PRINT STRING(CHR(143),14);
x=RND(10) :REM CHOOSE TEXT
IF x=0 THEN: a$="LIKE I SAID,":b$="ALL FINE" :ENDIF
IF x=1 THEN: a$="HE TOLD":b$="NOTHING" :ENDIF
IF x=2 THEN: a$="JONNY WAS":b$="MAD!" :ENDIF
IF x=3 THEN: a$="DEALT WITH":b$="" :ENDIF
IF x=4 THEN: a$="THAT WAS AN":b$="AMBUSH!" :ENDIF
IF x=5 THEN: a$="ON SCHEDULLE":b$="" :ENDIF
IF x=6 THEN: a$="NO ONE CAME":b$="OUT" :ENDIF
IF x=7 THEN: a$="HAPPENED A":b$="COUPLE DAYS" :ENDIF
IF x=8 THEN: a$="ERICO SOLVED":b$="THAT" :ENDIF
IF x=9 THEN: a$="TROUBLED":b$="SITUATION!" :ENDIF
LOCATE 6,13:PRINT a$; :REM DRAW TEXT
LOCATE 6,14:PRINT b$;
FOR x=0 TO 6 :REM TALKING
LOCATE 5,7
PRINT CHR(222);CHR(216);
WAIT #150 MILLISECONDS:LOCATE 5,7
PRINT CHR(223);CHR(218);
WAIT #150 MILLISECONDS
NEXT
WAIT #1000 MILLISECONDS
FOR x=352 TO 511
POKE 1024+x,128 :REM CLS
NEXT
LOCATE 13,12:PRINT STRING(CHR(143),14);CHR(135);CHR(138); :REM DRAW DIALOG BOX
LOCATE 13,13:PRINT STRING(CHR(143),14);CHR(142);
LOCATE 13,14:PRINT STRING(CHR(143),14);
LOCATE 13,15:PRINT STRING(CHR(143),14);
x=RND(10) :REM CHOOSE TEXT
IF x=0 THEN: a$="HOW IS THE":b$="CARGO?" :ENDIF
IF x=1 THEN: a$="WHAT DID I":b$="TELL YOU?" :ENDIF
IF x=2 THEN: a$="AND THE JOB?":b$="" :ENDIF
IF x=3 THEN: a$="DON'T TELL":b$="ME!" :ENDIF
IF x=4 THEN: a$="GOT THE":b$="PAYBACK?" :ENDIF
IF x=5 THEN: a$="VERY WELL":b$="" :ENDIF
IF x=6 THEN: a$="ABOUT THE":b$="COUNTERFEIT?" :ENDIF
IF x=7 THEN: a$="ORDER MORE":b$="RESOURCES" :ENDIF
IF x=8 THEN: a$="FORGET ABOUT":b$="IT!" :ENDIF
IF x=9 THEN: a$="SHOW WHAT WE":b$="GOT!" :ENDIF
LOCATE 14,13:PRINT a$; :REM DRAW TEXT
LOCATE 14,14:PRINT b$;
FOR x=0 TO 6 :REM TALKING
LOCATE 25,7:PRINT CHR(188);
LOCATE 25,8:PRINT CHR(188);
WAIT #150 MILLISECONDS
LOCATE 25,7:PRINT CHR(191);
LOCATE 25,8:REM PRINT CHR(252);
WAIT #150 MILLISECONDS
NEXT
LOOP
==== FILE ====
* ''[[https://github.com/spotlessmind1975/ugbasic/tree/main/examples/opil_old.bas|opil_old.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 opil_old.bas -o example.xex
altirra example.xex
# Windows
ugbc.atari.exe opil_old.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 opil_old.bas -o example.xex
altirra example.xex
# Windows
ugbc.atarixl.exe opil_old.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 opil_old.bas -o example.prg
x64sc example.prg
# Windows
ugbc.c64.exe opil_old.bas -o example.prg
x64sc example.prg
=== Commodore 64+REU ===
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.c64reu opil_old.bas -o example.prg
x64sc -reu example.prg
# Windows
ugbc.c64reu.exe opil_old.bas -o example.prg
x64sc -reu 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 opil_old.bas -o example.prg
yape example.prg
# Windows
ugbc.plus4.exe opil_old.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 opil_old.bas -o example.prg
xplus4 example.prg
# Windows
ugbc.plus4.exe opil_old.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 opil_old.bas -o example.bin
xroar -rompath (percorso ROM) example.bin
# Windows
ugbc.d32.exe opil_old.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 opil_old.bas -o example.bin
xroar -rompath (percorso ROM) example.bin
# Windows
ugbc.d64.exe opil_old.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 opil_old.bas -o example.bin
dcmoto example.bin
(scegliere example.bin)
(scegliere BASIC 128)
CLEAR,&H2FFF: LOADM"CASS:",R: EXEC
# Windows
ugbc.pc128op.exe opil_old.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 opil_old.bas -o example.bin
dcmoto example.bin
(scegliere example.bin)
(scegliere BASIC 128)
CLEAR,&H2FFF: LOADM"CASS:",R: EXEC
# Windows
ugbc.mo5.exe opil_old.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 opil_old.bas -o example.prg
xvic --memory 24k example.prg
# Windows
ugbc.vic20.exe opil_old.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 opil_old.bas -o example.tap
Speccy example.tap
# Windows
ugbc.zx.exe opil_old.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 opil_old.bas -o example.rom
openmsx -machine \"COL - ColecoVision\" -cart example.rom
# Windows
ugbc.coleco.exe opil_old.bas -o example.rom
bluemsx -machine \"COL - ColecoVision\" example.rom
== blueMSX ==
# Linux
ugbc.coleco opil_old.bas -o example.rom
bluemsx /machine \"COL - ColecoVision\" /rom1 example.rom
# Windows
ugbc.coleco.exe opil_old.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 opil_old.bas -o example.rom
bluemsx /machine \"SEGA - SC-3000\" /rom1 example.rom
# Windows
ugbc.sc3000.exe opil_old.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 opil_old.bas -o example.rom
bluemsx /machine \"SEGA - SG-1000\" /rom1 example.rom
# Windows
ugbc.sg1000.exe opil_old.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 |}}]]