|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6847
|
[TurboC /BorlandC 3.0] sapete gestire grafica SVGA tramite file *.bgi?
I vecchi compilatori gestiscono normalmente grafica EGA o VGA a 16 colori.
In teoria si dovrebbero poter caricare i driver grafici tipo svga.bgi o svga256.bgi per una grafica minimo a 800x600 di risoluzione ma sarebbe meglio poter accedere ad una risoluzione 1024x768 a 256 colori, ovviamente senza fare ricorso a windows, ci sono in giro piloti grafici tipo i suddetti svga.bgi o svga64k.bgi ma non vengono consolidati da bgiobj.exe e neanche caricati e gestiti dalla funzione installuserdriver() del turbo/borland C++ qualcuno lo ha mai fatto? |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Io, ma una ventina d'anni fa. Da allora non ho più avuto modo di lavorarci, perché nel frattempo il DOS è praticamente scomparso.
Comunque da quel che mi ricordo bastava copiare il file .BGI nella cartella dell'applicazione,e registrare il driver, come hai accennato. Dovresti, però, assicurarti prima che sotto DOS la scheda video supporti quelle risoluzioni. Eventualmente ci sono dei driver VESA, che abilitano parecchie risoluzioni, ma so che sono a pagamento. Altro, mi spiace, ma non ti so dire. E' passato veramente troppo tempo.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6847
|
Intanto grazie per la risposta...
poi... diciamo che mi sono incaponito con questo problema retrò... ![]() Io il C (Borland o MS) l'ho usato sempre in modalità carattere... da un po' di tempo a questa parte mi è venuto il desiderio di sviluppare qualche programma in modalità grafica ed ho cominciato con il TurboC 2.0 e BorlandC++ 3.1 In entrambi i casi la grafica poggia esclusivamente sulle risoluzioni VGA standard, EGA e VGA(low) ed EGA (low) che sono delle CGA rivisitate... con in più la possibilità di usare + di 2 palette, credo... ho indagato poco. I piloti grafici sono VGA.bgi, EGAVGA.bgi e quelli più primitivi CGA.bgi; sono file di circa 5k cadauno. Finchè si usano questi piloti grafici di default non sorgono problemi; io ho sviluppato un programma per il calcolo del codice fiscale(più che altro per cimentarmi con la modalità grafica) e tutto è andato bene, fino a quando ho capito che era tutto ok perchè la scheda video è una Ati Rage XL integrata del biprocessore datato che uso. L'ho capito quando ho cercato di mostrare il programma sviluppato facendolo girare su altre macchine: a quel punto mi son reso conto che poche macchine attuali hanno la modalità VGA standard a 16 colori in generale perchè non la supportano + le schede video che a quanto pare snobbano questa modalità (mi chiedo in modalità provvisoria come fanno). Insomma, comunque sia, mi son chiesto se era possibile reperire uno o + BGI che implementino le risoluzioni superiori, in modo da dare una veste grafica SVGA o XGA o USVGA, ecc.. (ho scoperto molte cose, allora, ma non ho risolto il problema. Intanto la SVGA è una modalità 640x480 a 256 colori, poi diventata 800x600 a 16 o 256 colori. Vero è che su Internet si trovano piloti denominati SVGA.bgi, svga256.bgi, svga32k.bgi, ma nessuno di essi sembra compatibile con TC2.0 e BC3.1 in mio possesso. Che ci sia qualcosa che osta si evince dal fatto che le dimensioni dei file sono circa doppie, intorno a 8-10k e le date dei file sono 1992 e 1995, mentre i BGI dei due suddetti compiler sono 1988 e 1990 massimo. Sembra che quei BGI sono stati prodotti per una versione successiva di BorlandC o TurboC che comunque doveva essere ancora in grado di gestire grafica pro-DOS e non-Windows. Ho provato le specifiche VESA, che prevedevano chiamate indos all'interrupt 0x10 dei servizi video mettendo 4Fh in ah, 2 in al e il numero della modalità VESA in bx (101h per 640x480x256 104h per 1024x768, ecc.) ma si blocca il sistema dos e torna a Windows in malo modo, chiudendo d'autorità la finestra dos. Volevo quindi chiederti di concentrarti e ricordare meglio altri particolari che mi aiutino a capire se c'è un modo di venirne a capo. Magari, appunto, basta cercare una versione successiva dei compilatori suddetti, o altro... Visto che ci siamo, mi interesserebbe sapere se hai da qualche parte questi vecchi compilatori, provvisti di manuali e se hai disponibilità a cederli o se qualcuno che conosci li ha. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
QUI a pagina 95 si parla di driver e più precisamente l'ibm8514.bgi che supporta la risoluzione 1024x768
http://areeweb.polito.it/didattica/fondinf/util/showp/ è passato troppo tempo però ![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6847
|
l'ibm8514 era usata sui monitor IBM ai tempi dei suoi 386, tipo l'M380... mi pare
comunque grazie per la risposta... Ultima modifica di cos1950 : 20-02-2013 alle 20:13. |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6847
|
Ho controllato in giro sul web... sono scaricabili le versioni TurboC 3.0 e lì non cambia molto rispetto alla versione 2.0 e BorlandC 4.5 che però ormai è completamente migrata sotto Windows...
Possibile che non ci sia stato altro? Non riesco a capire allora a che servivano quei BGI che non funzionano con la 2.0 e la 3.0 |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Non ricordo bene perché è passato troppo tempo, ma credo che la struttura dei file .BGI sia legata al compilatore usato. Mi pare che fossero qualcosa di simile agli eseguibili o alle Unit di Pascal & co.
Purtroppo altro non ti so dire, perché è roba che ho usato molto tempo fa.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Sep 2007
Messaggi: 329
|
Ti serve per forza sotto DOS? Comunque ricordo che le bgi non erano molto performanti.. se non ti servono primitive grafiche particolari con le VESA sei una spanna più veloce. Non so però se Windows ti permette di accedere alle VESA liberamente. Alcune funzioni vanno a fare modifiche importanti, com cambiare la frequenza del DAC, cosa che probabilmente non è gradita.
Se recupero un TurboC provo e ti faccio sapere.
__________________
Canon EOS 5D3 | 16-35 f/4 L IS | 24-105 f/4 L IS | 70-200 f/4 L IS | 14 f/2.8 | 24 f/1.4 L | 35 f/1.4 | 135 f/2.0 L | Canon 430EX |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6847
|
Dunque i file bgi di default per Turboc 2.0 e BorlandC++ 3.1 sono come dicevo egavga.bgi (per grafica ega e vga standard) e cga.bgi per la vecchia CGA, poi ci sono file per sistemi particolari tipo ibm8514.bgi che suppongo servissero per particolari schede video ibm innovative per quel periodo, ma con gestione proprietaria e quindi inutilizzabili in generale.
I file BGI che si possono reperire extra sono svga.bgi, svga256.bgi, svga32k.bgi e forse qualcun altro... questi hanno tutte date posteriori all'anno dei compilatori suddetti e pare siano le estensioni VESA preparate da Jordan Hargraphix che non sono gestibili tramite la funzione installuserdriver() e non sono consolidabili tramite bgiobj.exe. Adesso ho trovato un sito dove facendo donazione di US$ si possono scaricare i sorgenti C preparati da questo Jordan e che dovrebbero utilizzare i file BGI suddetti... credo siano i driver VESA che dicevi, cdimauro. Appena ho degli sviluppi vi faccio sapere, restando naturalmente in ascolto di vostre interessanti idee. |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Purtroppo di idee ne rimangono poche.
Io per gestire gli schermi direttamente a un certo punto ho preferito staccarmi dai BGI, e gestire tutto da BIOS + memoria video. Solo che tu hai provato a farlo, e Windows ti risponde in malo modo, per cui non vedo altre soluzioni possibili al momento.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6847
|
Quote:
|
|
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Eppure qualche modo dev'esserci. Non posso credere che non si possa usare nemmeno la modalità VESA con accesso diretto al framebuffer, che è il "minimo sindacale" senza andare a toccare i registri hardware del chip video (si fa tutto da BIOS + puntatore al framebuffer).
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6847
|
Quote:
![]() ho trovato un pdf che è molto promettente, ma non riesco a concludere... anche perchè ci sono varie opzioni che non riesco a gestire... se mi mandi un indirizzo email in pvt, ti invio il file pdf che tratta in modo abbastanza approfondito delle specifiche VESA e del modo per implementarle in C. |
|
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6847
|
Andando un po' avanti con le ricerche su internet, m'è parso di capire che oltre a codificare in C le chiamate al Bios Vesa, occorre anche predisporre il sistema operativo installando dei driver opportuni che il fabbricante della scheda video doveva aver cura di produrre e rilasciare... per alcuni chip di schede old li ho trovati... sono dei tsr che si installano e danno poi la possibilità di fare le chiamate in C.
Se allora è così, non c'è niente da fare... dal momento che se uno ogni volta deve installare sti driver... questo forse ti aiuta a ricordare come procedevi 20 anni fa per queste cose... capisco che a distanza di così tanto tempo... questo è il link dove si trovare questi vecchi driver http://www.filewatcher.com/m/VSA25611.ZIP.106472-0.html |
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6847
|
mi sembra interessante il contenuto del file
SVGAKT51.ZIP a pagina 5 dell'elenco si ritrova il programma in C HelloVBE.c presente nel pdf che ti ho mandato, ma anche altra documentazione e quello che sembra un percorso completo di istruzioni e file, c asm e prj, da seguire per una implementazione completa... |
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Purtroppo questa settimana non ho avuto proprio tempo. Vediamo se nel week-end riesco a smazzarmi la documentazione.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:46.