Newsgroup: it.comp.lang.c
Titolo: Programmazione grafica: Inizializzazione della modalità grafica

Ho un problemino. Non mi funziona il seguente codice:
Problema: shermata blu di winzoz 98 , che indica un errore irreversibile  0D
in 0028:C0002ABC di Vxd
// compilatore:    MS VC++
// piattaforma:    Win32 (Windows 98)
// progetto:          Applicazione win32 su console
// scopo del programma:  inizializzare la modalità grafica e chiuderla alla
pressione di un tasto.
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
void InitGraphCard();
void CloseSession();
int main(int argc, char* argv[])
{
 InitGraphCard();
 while (!kbhit()){}
 CloseSession();
return (0);
}
void InitGraphCard()
{
 _asm{
  mov ax,13h
  int 10h
 }
}
void CloseSession()
{
 _asm{
  mov ax,3h
  int 10h
 }
}
Ringrazio anticipatamente, chi è così gentile da potermi dare una mano nel
capire dov'è il problema.
Ciao
Grazie mille ancora.

// progetto:          Applicazione win32 su console
it.comp.programmare.win32
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------
#exclude <windows.h>

 capire dov'č il problema.
questo sistema funziona solo in dos ( e forse in altri os irq-based).
Inoltre il terminale DOS Win32 non supporta la grafica, ma solo
stream di testo

 wrote in message 8kckk4$vh2$1...@agnus.ngi.it...
| >   mov ax,13h
| >   int 10h
| questo sistema funziona solo in dos ( e forse in altri os irq-based).
| Inoltre il terminale DOS Win32 non supporta la grafica, ma solo
| stream di testo
Non del tutto vero: col djgpp si riesce benissimo a realizzare un lib.
grafica  per il terminale di win9x. Risultera' molto lenta, ovviamente,
visto che tutti gli int vegnono ritradotti a 32-bit tramite l'int 30, ma
neanche tanto se implementi un double buffering decente.
Ci si puo' "giocare" un po' in mod. grafica.
Se ti interessa, vai alla pagina del djgpp:
http://www.delorie.com
Per l'help:
news:comp.os.msdos.djgpp
con le faq postate settimanalmente
Inoltre, considera che questo compilatore e' stato usato per Quake dalla ID
software.
Un buon punto d'inizio, se ti interessa una libreria grafica pronta
all'uso, e' la libreria Jlib, che trovi su
ftp://x2ftp.oulu.fi/pub/msdos/programming/djgpp2

 neanche tanto se implementi un double buffering decente.
il codice Djgpp è dos P/M, non win32. Anche quake (non il GL) infatti è per
dos.
Il fatto che poi windows emuli il Dos è un'altra questione. E poi con VC5
penso che non si possano fare applicazione dos estese.
ciao

 wrote in message 8kf7ec$8uo$1...@agnus.ngi.it...
| il codice Djgpp è dos P/M, non win32. Anche quake (non il GL) infatti è
per
| dos.
il djgpp richiede un memory manager, che puo' essere anche fornito dai
servizi del vmm32.vxd di win32, o da un'altro gestore di memoria estesa
come quello opensource utilizzato da QUake.
| Il fatto che poi windows emuli il Dos è un'altra questione.
e infatti non lo emula, fornisce gli int tramite vxd e poi decide se
passarli o meno al dos sottostante, ma fornisce senza problemi il servizio
int 30 per l'accesso alla memoria estesa. Visto che tutte le chiamate
generate dal djgpp passano per l'int 30 (o meglio vengono rimappate su una
struct creata apposta, che passa tutti i necessari parametri all'int 30),
essendo un P/M dos, come lo chiami tu, i programmi compilati col djgpp
girano anche in modalita' console di win32, ma non dal dos semplice.
| E poi con VC5 penso che non si possano fare applicazione dos estese.
una ragione in piu' per usare il Watcom o il djgpp, se vuoi fare grafica in
dos, o comunque usare servizi di memoria estesa.

 girano anche in modalita' console di win32, ma non dal dos semplice.
ecco perchè sono stati fatti i Server DPMI (DOS4GW,CWSDPMI,go32).
e a me i programmi DJGPP girano su dos semplice (6.2) e anche i programmi
per dos R/M mi girano in consolle win32
ciao