Newsgroup: it.comp.lang.pascal
Titolo: *** GRAFICA IN TP7 - AIUTOOOOOOOO

Salve a tutti.
Sono un giovane programmatore (13 anni!) e me la cavo abbastanza bene
nel QuickBasic 4.5 e me la cavicchio in TP 3.02 (non ridete...).
Ho trovato finalmente il TP 7.0 ma ora ho un problema. Posseggo una
scheda video Hercules Terminator 64V (chip S3) ma se do alla variabile
che indica il driver grafico il valore Detect il programma si blocca.
Che driver dovrei usare?
Inoltre: c'è su Internet qualche guida al TP 7.0 per i principianti?
Va bene in inglese e in italiano...
Grazie
(RISPOSTE IN MAIL PER FAVORE)

 (RISPOSTE IN MAIL PER FAVORE)
Ok,  faccio un'eccezione, ma ricordati che generalmente le risposte 
vanno nel NG.
by Frengo

Va bene in inglese e in italiano...
prova a usare questa procedura:
procedure setmcga;
begin
 asm
  mov ax,0013h
  int 21h
 end;
end;
--
Automatic posted from 
ro...@ns.ten.it
 [194.184.27.10]
via Mailgate Server - 
http://www.mailgate.org

end;
Ma non era da chiamare l'interrupt 10h anziché il 21h? Io usavo il
10h!
Ad ogni modo così precludi la via a tutte le procedure che operano
tramite BGI.
Ciao,
DjM / Digital Things
aka Mauro Molinari
Internet e-mail: 
djm...@geocities.com
 / 
djm...@mail.geocities.com
Digital Things Home Page:
=> 
http://www.musicnation.com/home/digital_things
=> 
http://www.geocities.com//SiliconValley/Bay/8251
=> 
http://members.tripod.com/~DjM_DiT
=> 
http://space.tin.it/musica/gvettora
*** To send me an e-mail, select the right address.
*** Per mandarmi una e-mail, scegli l'indirizzo corretto.

Vi ringrazio tutti per la vostra disponibilita', ma mi sono accorto
che facevo un errore stupido... non mettevo il percorso nella riga di
InitGrph...
non frustatemi plz! :)

end;
E per la SVGA?
Inoltre è possibile avere un po' più di colori?
Emanuele Cesena
gma...@tin.it

Inoltre è possibile avere un po' più di colori?
Con i modi di sopra si', ma e' piu' difficile gestirli.
--------------------------------------------------------
Andrea      
mica uno qualunque...
---------------------------------------------------------------------------
per le risposte via e-mail togli CHITIHACHIESTONIENTE!!!! dal mio indirizzo

 wrote:
: >procedure setmcga;
: >begin
: >asm
: >  mov ax,0013h
: >  int 21h
: >end;
: >end;
: E per la SVGA?
: Inoltre č possibile avere un po' piů di colori?
: Emanuele Cesena
: 
gma...@tin.it
Beh... ci vogliono delle TPU apposta... oppure procurati
SVGA256.BIN
ed eccoti accontetato!!!
-- 
--------------------------------
bb. L'ultimo Juventino.        |
rispondete a:                  |
                               |
ultimo.j...@mailexcite.com
|
                               |
"Nel calcio la verita' non e'  |
MAI banale"                    |
--------------------------------

100h 640x400x256
101h 640x480x256
102h 800x600x16
103h 800x600x256
104h 1024x768x16
105h 1024x768x256
106h 1280x1024x16
107h 1280x1024x256
10Dh 320x200x32768
10Eh 320x200x65536
10Fh 320x200x16777216
110h 640x480x32768
111h 640x480x65536
112h 640x480x16777216
113h 800x600x32768
114h 800x600x65536
115h 800x600x16777216
116h 1024x768x32768
117h 1024x768x65536
118h 1024x768x16777216
119h 1280x1024x32768
11Ah 1280x1024x65536
11Bh 1280x1024x16777216  <--- Questi 16777216 sono i colori??
E vacca, mi sta venendo d..o

11Bh 1280x1024x16777216  <--- Questi 16777216 sono i colori??
Si, sono i colori :-)
Questa e' una modalita' 1280x1024 a 24 bit il che significa che hai bisogno di
almeno 4 Mega di memoria video....
Ciao
--------------------------------------------------------
Andrea      
===========================================================================
Altro che sconti Telecom ! fatevi un bel panino con la Nutella...
---------------------------------------------------------------------------
Ti ho messo la maionese ! ti ho messo il chectch ? che vuoi di piu' ?
---------------------------------------------------------------------------
per le risposte via e-mail togli CHITIHACHIESTONIENTE!!!! dal mio indirizzo
---------------------------------------------------------------------------
ICQ# 8143647
---------------------------------------------------------------------------

almeno 4 Mega di memoria video....
Ok, e per gestirli (intendo modificare gli attributi del colore) faccio sempre
come mi hai detto nel messaggio sull'altro thread? Naturalmente cambiando 255
con 16 milioni e rotti?
E devo dichiarare la matrice non di byte, ma di "3 byte"?
Ciao
Emanuele Cesena
d.a.m...@iol.it

Un bel giorno, tutt'a un tratto Emanuele Cesena si mise a scrivere :

No, non e' cosi' semplice.
Non so se ti e' gia' stata spedita la unit che ti dicevo per la gestione delle
modalita' piu' alte, ma si usano le routine VESA.
E' un po' complicato spiegarti come fare....
Andrea      
(per le risposte via e-mail togli CHITIHACHIESTONIENTE!!!! dal mio indirizzo)
ICQ# 8328956


Ecco la mia unit per 320x200x256c:
{---------------------------------------------------------------------------}
{                      G E S T I O N E   G R A F I C A
}
{               PER LA RISOLUZIONE VIDEO 320x200x256 COLORI
}
{---------------------------------------------------------------------------}
UNIT Gr320200;
Interface
CONST
 RisX:Word=320;
 RisY:Word=200;
 RisC:Word=256;
 Procedure InitGrafica;
 Procedure CloseGrafica;
 Procedure PutPixel(X,Y,C:Word);
 Function GetPixel(X,Y:Word):Byte;
 Procedure FastClrScr;
 Procedure ClrScrG(X1,Y1:Word);
 Procedure HLine(X1,X2,Y,C:Word);
 Procedure VLine(X,Y1,Y2,C:Word);
 Procedure Barra(X1,Y1,X2,Y2,C:Word);
 Procedure RectDisp(X,Y,dX,dY,C:Word);
 Procedure Ellipse(X,Y,Rx,Ry,C:Word);
Implementation
USES
 DOS;
 Procedure InitGrafica;
 Begin
  ASM
   Mov Ax, 00h
   Mov Al, 13h
   Int 10h
  End;
 End;
 Procedure CloseGrafica;
 Begin
  ASM
   Mov Ax, 00h
   Mov Al, 03h
   Int 10h
  End;
 End;
 Procedure PutPixel(X,Y,C:Word);
 Begin
  Mem[$A000:Y*RisX+X]:=C;
 End;
 Function GetPixel(X,Y:Word):Byte;
 Begin
  GetPixel:=Mem[$A000:Y*RisX+X];
 End;
 Procedure FastClrScr;
 Begin
  ASM
   Mov Bx, 0FFFFh
   Push Ds
   Push Ax
   @Ciclo:
   Mov Ax, 0A000h
   Mov Ds, Ax
   Mov Byte Ptr [Bx], 00h
   Dec Bx
   Jnz @Ciclo
   Mov Byte Ptr [0000], 00h
   Pop Ax
   Pop Ds
  End;
 End;
 Procedure ClrScrG;
 VAR I:LongInt;
 Begin
  For I:=0 to RisX*RisY do
   Mem[$A000:I]:=$00;
 End;
 Procedure HLine(X1,X2,Y,C:Word);
 VAR X:Word;
 Begin
  If X1>X2 then Begin X:=X1; X1:=X2; X2:=X End;
  For X:=X1 to X2 do
   {If LoVediY(Y)AND(LoVediX(X)) then }Mem[$A000:Y*RisX+X]:=C;
 End;
 Procedure VLine(X,Y1,Y2,C:Word);
 VAR Y:Word;
 Begin
  If Y1>Y2 then Begin Y:=Y1; Y1:=Y2; Y2:=Y End;
  For Y:=Y1 to Y2 do
   Mem[$A000:Y*RisX+X]:=C;
  End;
 Procedure Barra(X1,Y1,X2,Y2,C:Word);
 VAR X,Y:Word;
 Begin
  For X:=X1 to X2 do
   For Y:=Y1 to Y2 do
    Mem[$A000:Y*RisX+X]:=C;
 End;
 Procedure RectDisp(X,Y,dX,dY,C:Word);
 VAR I:Word;
 Begin
  For I:=X to X+dX do
  Begin
   Mem[$A000:Y*RisX+I]:=C;
   Mem[$A000:(Y+dY)*RisX+I]:=C;
  End;
  For I:=Y to Y+dY do
  Begin
   Mem[$A000:I*RisX+X]:=C;
   Mem[$A000:I*RisX+X+dX]:=C;
  End;
 End;
 Procedure Ellipse(X,Y,Rx,Ry,C:Word);
 VAR
  I:Real;
 Begin
  I:=0;
  Repeat
   Mem[$A000:Round(Y+Ry*Sin(I))*RisX+Round(X+Rx*Cos(I))]:=C;
   I:=I+PI/360;
  Until I>=2*PI;
 End;
Begin
End.

Thanks
--
Emanuele Cesena
d.a.m...@iol.it
ICQ N# 8814554