{{htmlmetatags>metatag-robots=() metatag-title=(libreria MIDRES) metatag-keywords=(C,library,Midres,Bitmaps,Commodore 64,Commodore VIC20,Commodore 16) metatag-description=(La MIDRES library permette di realizzare rapidamente giochi per molte piattaforme a 8 bit.) metatag-media-og:image=(::midres-logo-fb.png) metatag-og:title=(Usare la libreria midres portabile) metatag-og:description=(La MIDRES library permette di realizzare rapidamente giochi per molte piattaforme a 8 bit.) }} ====== LA LIBRERIA MIDRES ====== {{ :midres-logo.png?nolink&600 |}} La libreria MIDRES permette di creare programmi **WORA** (//Write Once Run Anywhere//) che sono [[it:midres_library:isomorphism|efficienti "by design"]] su [[https://github.com/spotlessmind1975/midres/blob/master/docs/targets.md|varie piattaforme a 8 bit]], senza la necessità di "ottimizzarli" e senza compromessi con altri kit di sviluppo. **L'approccio isomorfico è diverso dall'astrazione.** Si basa sulla mappatura dell'hardware sottostante senza ricorrere a librerie di terze parti e facendo corrispondere strutture complesse ed eterogenee, seppur omologhe, tra loro. Il codice scritto con questo approccio, quando funziona bene cioè quando è soddisfacente in termini di velocità di esecuzione o utilizzo delle risorse, **è già ottimizzato su qualsiasi altra piattaforma**. ===== COME USARE LA LIBRERIA ===== Per aggiungere il supporto della libreria midres, è sufficiente includere il file "midres.h" nei sorgenti. Questo file contiene tutte le definizioni e i tipi di dati richiesti per la [[:it:midres|manipolazione degli schermi]], [[:it:tiling|creare animazioni]] e così via. #include "midres.h" [[it:midres_library:functions|Questa pagina]] contiene un riferimento alle funzioni disponibili (è un "work in progress"). Per alcune attività è possibile sfruttare alcuni strumenti "già pronti": * ''[[:it:img2midres|img2midres]]'' - per convertire immagini in schermate midres; * ''[[:it:img2tile|img2tile]]'' - per convertire immagini in tile. ===== COME COMPILARE LA LIBRERIA ===== Il [[https://github.com/spotlessmind1975/midres|repository ufficiale]] contiene un [[https://github.com/spotlessmind1975/midres/blob/master/makefile|generico makefile]] costruito tramite una procedura automatica scritta in PHP (''automake.php''). E' possibile ricostruire il makefile in qualsiasi momento digitando il comando: php automake.php Il ''makefile'' è stato predisposto per poter compilare una specifica ''demo'', ''tutorial'' o programma (''program'') per una specifica piattaforma (''target''). L'elenco dei programmi compilabili è disponibile [[https://github.com/spotlessmind1975/midres/blob/master/docs/programs.md|su questa pagina]]. Per compilare la ''demo'' "TILE" per il Commodore 64 il comando è make demo=TILE target=c64 all Per compilare il ''tutorial'' "CTILE" per Atari il comando è make demo=CTILE target=atari all Per compilare il programma (''program'') "Air Attack!" per il Commodore 128 il comando è: make program=airattack target=c128 clean all ===== GIOCHI ===== [[elevator|{{ :elevator_800x300.jpg?600 |Giopcp The Elevator }}]] [[alienstorm|{{ :alienstorm_copertina_800x300.png?600 |Gioco Alien Storm}}]] [[totto|{{ :totto_title2.jpg?600 |Totto! game}}]] [[air_attack|{{ :air_attack_title_horizontal_winner2b.png?600 |Gioco Air Attack!}}]] ===== PROGRAMMI DIMOSTRATIVI ===== [[:it:midres_library:demos|Questa pagina]] contiene l'elenco dei programmi dimostrativi, che possono essere compilati direttamente dal sorgente della libreria.