CUBE 3D EN ROTATION / MODE GRAPHIQUE VGA 13H / DJGPP
cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 2009
-
2 août 2004 à 17:32
cs_gorgonzola
Messages postés37Date d'inscriptionsamedi 16 mars 2002StatutMembreDernière intervention21 février 2015
-
27 août 2004 à 21:44
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_gorgonzola
Messages postés37Date d'inscriptionsamedi 16 mars 2002StatutMembreDernière intervention21 février 2015 27 août 2004 à 21:44
je dis 'space' et 'escape', pas 'espace' !
sinon désolé je vois vraiment pas d'où vient le problème :-/
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 6 août 2004 à 00:22
Ouais okkéé merci pour ce renseignement, que j'ai bcp cherché :)
J'ai réussi à installer DJGPP :) et à compiler ton prog; tout marche impec sauf quand j'appuie sur ESPACE. Dans l'aide de ton prog, tu dis que quand on appuie sur "space" ça remplit les faces et que quand on appuie sur "espace" ça quitte, alors le prog fait les 2 :p Je vois les faces se remplir pendant un très court moment avant qu'il quitte avec un message qui fait pas plaisir sur la console, je cite :
Je suis sous Win98.
Si tu pouvais avoir une idée d'où ça vient...
cs_gorgonzola
Messages postés37Date d'inscriptionsamedi 16 mars 2002StatutMembreDernière intervention21 février 2015 4 août 2004 à 16:40
en fait je crois que sous Windows (ou autre OS en mode protégé), tu ne peux pas accéder directement à la mémoire, tu dois demander une 'autorisation'. Donc avec Turbo Pascal ou Turbo C++ ou en ASM, sous un OS 32 bits tu ne pourras pas accéder directement à la memoire video à l'adresse A000:0000 sinon le programme plantera. Mais ici j'utilise DJGPP, qui est un compilateur 32 bits, et j'appelle la fonction _farsetsel(_dos_ds) qui permet d'accéder à la mémoire. Je ne peux pas faire un truc du genre "char* buffer=0xA0000000" comme avec Turbo C par contre.
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 4 août 2004 à 10:36
J'ai pas DJGPP donc je peux pas compiler, mais j'ai une question : quand et comment est-ce que c'eest possible de s'adresser directement à la mémoire, de faire des interruptions...etc sous Windows?
En fait j'ai un vieux bouquin, "PC interdit : le meilleur programmation jeux 3D" qui utilise Pascal, l'ASM et un truc qui s'appelle le Mode X mais les exes plantent sous Windows :/
Voilà, si tu pouvais m'éclaircir un peu sur le sujet merci ;)
cs_gorgonzola
Messages postés37Date d'inscriptionsamedi 16 mars 2002StatutMembreDernière intervention21 février 2015 3 août 2004 à 13:51
Voila j'ai rajouté une capture et un zip.
J'ai également rajouté la possibilité d'enregistrer l'image en PCX (vu que j'en avais besoin pour faire la capture).
cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 20091 2 août 2004 à 23:32
Oula, dsl j'avais pas vu ke ct DJGPP le compilo..Serait kan mm bien un exe et une capture...
++
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 2 août 2004 à 23:10
Pas de zip, pas de capture...???!!!
C'est la moindre des choses pour une source de cette taille qui en plus est une source graphique!
Shell
cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 20091 2 août 2004 à 17:32
Ne compile pas avec TurboC, mank go32.h et sys/farptr.h...
Si tu pouvais preciser le compilo a utiliser, puis une ptite capture pour voir ce ke ca donne si tu peu ;)
27 août 2004 à 21:44
sinon désolé je vois vraiment pas d'où vient le problème :-/
6 août 2004 à 00:22
J'ai réussi à installer DJGPP :) et à compiler ton prog; tout marche impec sauf quand j'appuie sur ESPACE. Dans l'aide de ton prog, tu dis que quand on appuie sur "space" ça remplit les faces et que quand on appuie sur "espace" ça quitte, alors le prog fait les 2 :p Je vois les faces se remplir pendant un très court moment avant qu'il quitte avec un message qui fait pas plaisir sur la console, je cite :
Stack Fault at eip=00001b80
eax=00000000 ebx=000085a4 ecx=0000041c edx=000a0020 esi=000227d8 edi=000ab0d8
ebp=00000001 esp=000ab0f0 program=F:\DOWNLO~2\CPPFRA~1\CUBEVG~1\CUBE.EXE
cs: sel=00a7 base=85a4e000 limit=000affff
ds: sel=00af base=85a4e000 limit=000affff
es: sel=00af base=85a4e000 limit=000affff
fs: sel=00bf base=00000000 limit=0010ffff
gs: sel=00bf base=00000000 limit=0010ffff
ss: sel=00af base=85a4e000 limit=000affff
App stack: [000ab178..0002b178] Exceptn stack: [0002b0d4..00029194]
Call frame traceback EIPs:
0x00001b80
Je suis sous Win98.
Si tu pouvais avoir une idée d'où ça vient...
4 août 2004 à 16:40
4 août 2004 à 10:36
En fait j'ai un vieux bouquin, "PC interdit : le meilleur programmation jeux 3D" qui utilise Pascal, l'ASM et un truc qui s'appelle le Mode X mais les exes plantent sous Windows :/
Voilà, si tu pouvais m'éclaircir un peu sur le sujet merci ;)
3 août 2004 à 13:51
J'ai également rajouté la possibilité d'enregistrer l'image en PCX (vu que j'en avais besoin pour faire la capture).
2 août 2004 à 23:32
++
2 août 2004 à 23:10
C'est la moindre des choses pour une source de cette taille qui en plus est une source graphique!
Shell
2 août 2004 à 17:32
Si tu pouvais preciser le compilo a utiliser, puis une ptite capture pour voir ce ke ca donne si tu peu ;)
++