Al fine di dare la maggior efficienza possibile al codice compilato, la libreria MIDRES introduce il minor numero di astrazioni possibili. In particolare, cerca di sfruttare le similitudini tra chipset e architetture diverse. Una delle similitudini è la mappatura in memoria delle varie funzionalità.
Qui di seguito diamo, quindi, una serie di primitive di mappatura funzionale e il relativo dispiegamento in memoria per le varie architetture.
Ogni architettura ha un indirizzo a cui inizia il codice C compilato (il codice assembly). Di regola, tale indirizzo coincide con l'inizio del programma BASIC equivalente. Infatti, il compilatore cc65
genera il “loader” appropriato che non è altro che un “SYS” verso la prima istruzione di assembly.
A volte, a causa della sovrapposizione tra la memoria grafica e il programma BASIC, è stato necessario spostare l'indirizzo di partenza in una posizione diversa. In questo caso, è allegato un piccolo caricatore (scritto in BASIC), che si occupa di caricare da disco l'assembly nella posizione corretta prima di avviarlo.
Questo tipo di memoria mappa una superficie di lettere (o “tile”) composta da un certo numero di righe e di colonne. Ogni lettera (o “tile”) viene rappresentata da un numero senza segno a 8 bit. Tale numero rappresenta un indice nella memoria speciale.
Questo tipo di memoria contiene la rappresentazione pixel a pixel e monocromatica di ogni lettera (o “tile”) indicata dal numero senza segno a 8 bit, così come presente nella memoria video (testo).
Questo tipo di memoria può essere utilizzato dalle primitive di spostamento (o “bitblit”), e non necessariamente corrisponde a qualcosa di visibile sullo schermo.