Omikron BASIC
# Omikron BASIC

L'Omikron BASIC è un dialetto del linguaggio di programmazione BASIC presentato nel 1985 per i computer Atari ST e sviluppato per svolgere importanti calcoli matematici. L'editor è stato scritto da Artur Södler, aiutato da Thomas Kemp per lo sviluppo delle routine matematiche.

L'ultima versione per l'Atari, la 5.20, è datata 1998: l'Omikron BASIC continua ad essere prodotto per la piattaforma Macintosh, per la quale è alla versione 8.5 (2008), adattato a funzionare sui Mac con processori Intel e sistema operativo macOS.

## Funzionalità

L'eseguibile dell'Omikron BASIC 3.01 era grande solo 106 KB, grazie al fatto che l'editor era scritto in assembly 68000.

Questo BASIC compilava applicazioni direttamente eseguibili dal sistema, fornendo file con una di queste estensioni: .PRG, .TOS, .APP, .TTP... La compilazione combinata con la libreria grafica GEM permetteva anche la creazione di accessori (file .ACC), richiamabili da qualunque applicazione dotata di un sistema di menu. Senza essere multitasking, l'Omikron BASIC permetteva, senza chiudere un'applicazione, di avere accesso ad altri programmi.

L'Omikron BASIC poteva utilizzare un eventuale coprocessore matematico 68881/68882 e permetteva anche di sfruttare la libreria GEM.LIB (quella del GEM usata in origine sull'ST), per esempio per utilizzare un file .RSC fornito da terzi.

Nel 1988 fu offerta dagli stessi autori dell'Omikron BASIC la libreria EasyGEM, destinata a semplificare la gestione delle finestre e dei menu grazie ad un interfacciamento più funzionale con questo BASIC.

## Compatibilità

L'Omikron BASIC era stato sviluppato per essere il più possibile compatibile con il Microsoft BASIC ed il GW-BASIC, anche se il formato dei numeri in virgola mobile era stato portato da 6 a 10 byte. Inoltre l'ST era già dotato di serie di un'interfaccia grafica per cui questo BASIC non doveva più gestire il set di caratteri semi-grafici.

Lessicalmente l'Omikron BASIC distingueva i logaritmi in base 10, indicati con LOG, dai logaritmi naturali, indicati con LN.

## Programmazione strutturata

L'Omikron BASIC possedeva i cicli FOR...NEXT, WHILE...WEND e REPEAT...UNTIL. I sotto-programmi chiamati con GOSUB...RETURN potevano essere rimpiazzati dalle procedure PROC...RETURN. L'utente poteva definire delle funzioni. Le funzioni restituivano un valore, numerico o testuale, mentre le procedure ne potevano restituire diversi.

## Programmazione a basso livello

Un programma scritto in Omikron BASIC poteva richiamare delle routine scritte in linguaggio macchina tramite le istruzioni CALL e USR, passando ad esse l'indirizzo di memoria dove risiedeva il codice, oppure direttamente tramite una stringa esadecimale preceduta da INLINE.

