@Paolo: grazie della informazioni.
nibiru ha scritto:Inutile dire che mi scuso perché non l'ho scritto, ma ovviamente non stavo pensando al driver VESA... stavo pensando che magari più in là, quando (e se) si avrà tempo, si potrebbe cercare di simulare il copper, ma se non è stato ancora fatto, suppongo che non si possa fare se non su alcune (strane) schede di un tempo. E/O che il gioco non valga la candela, neppure con le modalità video accelerate.
Servirebbe una scheda video in grado di generare interrupt a una determinata riga video, ma, se presente, si tratta di una funzionalità non standard. Quindi servirebbe scrivere driver appositi per queste schede, cioè un bagno di sangue.
Ricordo che Canali parlò di un chip in grado di temporizzarsi e quindi simulare (alcune del)le funzionalità del Copper.
Sì, si può già fare utilizzando uno dei timer presenti nel chip, programmandolo in modo da farlo scattare approssimativamente quando la scheda video ha finito di disegnare la riga di raster precedente a quella in cui c'è il cambio di schermo.
E' una tecnica utilizzata parecchi anni fa, quando i programmatori PC cercavano di simulare il raggiungimento del vertical retrace (di Amiga & co.) per aggiornare la grafica in modo
smooth (senza "sfarfallii")
C'è un bel lavoro dietro, perché non è semplice e raggiungere la fine di una determinata riga richiede una maggior precisione del timer e un certo sbattimento.
In ogni caso non si può cambiare risoluzione. Al limite si visualizzerebbe una porzione dello schermo. Per "cambiare risoluzione" si dovrebbe utilizzare una scheda video che ha zoom orizzontale e verticale in hardware, come le mitiche Tseng ET4000 (se non ricordo male), ma anche qui andiamo sul campo delle singole schede che implementano queste funzionalità e, cosa peggiore, ognuno a modo loro.
Meglio lasciare l'implementazione attuale.
Riguardo alla Vesa, credevo che avesse una (seppur minima) accelerazione 2d... e invece si limita a settare una risoluzione e una profondità di bit.
C'è uno standard, il
VBE/AF, che lo prevede, ma non tutti i produttori lo implementano nelle loro schede e/o forniscono tutte le funzionalità previste di accelerazione hardware.
Qui almeno c'è uno standard dietro e il guadagno, a naso, dovrebbe essere consistente, ma richiederebbe la scrittura di un apposito driver, il VBE/AF, per le schede che lo supportano. Ma ci dev'essere qualcuno che lo scrive, appunto.

Ricordo che agli albori le VGA avevano pure una modalità bitplane... se non ricordo male limitata a 16 colori.
Ereditata dalle EGA. Sì, c'era, ma era macchinoso lavorarci a livello di singolo pixel. Invece per blocchi di 8 pixel era abbastanza veloce.
Inutile dire che si preferiva il classico "mode 13" della VGA (320x200 a 256 colori) che risultava di gran lunga più semplice da utilizzare, e con molti più colori.
In realtà per quest'ultima era possibile far ricorso ai cosiddetti "ModeX", che utilizzavano i 4 bitplane in modo da sfruttare tutta la memoria video (256KB anziché i 64KB del mode 13) per ottenere:
- schermi a risoluzione più elevata (tipo la classica 320x240 usata da Doom, ma si poteva arrivare fino a 400x300, se non ricordo male);
- frame buffer addizionali (double / triple buffering);
- spazio in cui inserire grafica (sprite/bob).
Comunque già poter simulare il dragging, mi sembra un signor risultato. Adesso si dovrebbero indirizzare la maggior parte degli sforzi sul SMP, perché ormai le CPU spingono sul parallelo, ed è finita l'epoca dei MHZ.
Non so se ci stanno lavorando, ma alcuni del team di AROS c'hanno già pensato.
Ma, a mio avviso, bisogna prima arrivare alla versione 1.0 con le API/ABI complete. Dopo si può pensare a lavorare per aggiornare il s.o. aggiungendo quello che gli manca (protezione della memoria, resource tracking, SMP).