{{htmlmetatags>metatag-robots=()
metatag-title=(Installazione | ugBASIC (Manuale Utente))
metatag-keywords=(ugBASIC,Commodore 64,Commodore PLUS/4,ZX Spectrum)
metatag-description=(Installazione di ugBASIC)
metatag-media-og:image=(:ugbasic:logo-ugbasic-fb.png)
metatag-og:title=(Installazione | ugBASIC (Manuale Utente))
metatag-og:description=(Installazione di ugBASIC)
}}
====== ugBASIC (Manuale Utente) ======
===== Installazione =====
==== Prerequisiti ====
[[https://spotlessmind1975.itch.io/ugbasic-ide|{{ :ugbasic:ugbasic-ide-itchio3.png?nolink&400 |}}]]
Il compilatore **ugBASIC** è una applicazione console per il sistema operativo Linux e Microsoft Windows. Volendo è disponibile un [[https://spotlessmind1975.itch.io/ugbasic-ide|conveniente ambiente IDE]] per il sistema operativo Microsoft Windows, che scarica e installa tutte le dipendenze. Se si sta usando questo sistema operativo, si consiglia di scaricarlo e usarlo.
Il compilatore dipende da diversi software per ottenere un eseguibile per i vari target (assicurati di avere l'ultima versione):
* Atari 400/800 (''atari''), Atari 1200XL (''atarixl''), Atari 600XL/800XL (''atarixl''), Atari XE Video Game System (''atarixl''), Commodore 128 (''c128''), Commodore 64 (''c64''), Commodore PLUS/4 (''plus4''), Commodore VIC-20 (''vic20'')
* ''cl65'', un assembler / linker da [[https://www.cc65.org/|CC65]];
* Dragon 32 (''d32''), Dragon 64 (''d64''), Dragon 200-E (''d64''), Olivetti PC128 Prodest (''pc128op''), Thomson (''mo5''), TRS-80 Color computer (''coco'')
* ''asm6809'', un assembler / linker da [[https://www.6809.org.uk/asm6809/|6809.ORG]];
* Amstrad CPC (''cpc''), ColecoVision (''coleco''), MSX (''msx1''), SEGA SC-3000 (''sc3000''), SEGA SG-1000 (''sg1000''), ZX Spectrum 48K (''zx'')
* ''z88dk-z80asm'', un assembler / linker da [[https://z88dk.org/site/|Z88DK]];
* ''z88dk-appmake'', una utility da [[https://z88dk.org/site/|Z88DK]];
Quindi devono essere scaricati da tali siti web, e bisogna assicurarsi che siano avviabili da qualsiasi directory sulla console. Nei sorgenti di ugBASIC è presente [[https://github.com/spotlessmind1975/ugbasic/tree/main/modules|un riferimento ai repository]] su github per ognuno di questi strumenti, nel caso l'ultima versione non funzionasse.
==== Download precompilato ====
Tutti i binari eseguibili, suddivisi per sistema operativo e retrocomputer target, sono disponibili [[https://github.com/spotlessmind1975/ugbasic/releases/latest|nell'ultima release]]. Ogni target ha il suo compilatore, e ogni compilatore potrà essere eseguito o su Linux o su Microsoft Windows. Tutti i compilatori sono compilati per poter girare su processori a 64 bit. Se si ha bisogno della versione a 32 bit, è necessario scaricare i sorgenti e ricompilare il compilatore a partire da quei sorgenti.
Se si sono scaricati i binary eseguibili, ci si può spostare nella **[[:it:ugbasic:usage|sezione utilizzo]]**.
==== Download sorgenti ====
E' possibile scaricare l'intero pacchetto dei sorgenti come ZIP, o clonare l'ultima versione, direttamente da [[https://github.com/spotlessmind1975/ugbasic|github]], facendo clic sul pulsante **Codice**. Se si scarica il file zip, è necessario estrarre tutti i file prima di continuare. Per compilare il compilatore è necessario che sia installato il seguente software:
* ''gcc'' per GCC v10.3.0
* ''xxd''
* ''flex'' per GNU FLEX v2.6.4
* ''bison'' per GNU BISON v3.7
Inoltre, è necessario scaricare / inizializzare anche tutti i sottomoduli. Per farlo è sufficiente eseguire il seguente comando:
git submodule update --recursive --init --remote
Se si verificano problemi o errori, è possibile usare questa linea di comando alternativa:
git config core.protectNTFS false
cd modules/6502
git config core.protectNTFS false
cd ../..
git submodule update --force --recursive --init --remote
==== Ricompilare il compilatore ====
Per compilare il compilatore è necessario usare il comando ''make'':
make target=xxxx clean compiler
dove ''xxxx'' è uno dei target elencati sopra.
Il compilatore sarà posto nella cartella ''ugbc/exe''.
Se si è ricompilato il compilatore, ci si può spostare nella **[[:it:ugbasic:usage|sezione utilizzo]]**.
===== POWERED BY =====
[[https://ugbasic.iwashere.eu|{{ :ugbasic:user:logo-ugbasic.png?nolink&600 |}}]]