programmer une s3 virge/dx - Hardware - Linux et OS Alternatifs
Marsh Posté le 26-06-2005 à 01:08:10
Regarde dans les sources du noyau Linux (en drivers/video/S3triofb.c par exemple)
Marsh Posté le 26-06-2005 à 12:29:52
salut
comme je l'ai dis je souhaiteraispouvoir prog cette api sans devoir desosser un des leur mais merci quand meme
y a t il d'autre idee
L'immortel
Marsh Posté le 26-06-2005 à 12:47:59
Pourquoi faire ?
Passe déjà par ceux du noyau linux, il sont libre et donc tu peux les modifier, les lires etc.. pas de dessassemblage.
Marsh Posté le 26-06-2005 à 16:10:20
re
j'ai un driver de linux mais en l'ouvrant certaine partie sont en anglais ce qui me parais normal mais le reste est apparament un langage que je ne connait pas lequel
voila ce que m'affiche le bloc note pour 1 des fichier
/* $XConsortium: newmmio-sizes.c /main/2 1996/10/25 11:33:52 kaleb $ */
/* compile with
cc -I../../common -I../../../../../../exports/include/X11 newmmio-sizes.c
*/
/* $XFree86: xc/programs/Xserver/hw/xfree86/accel/s3_virge/newmmio-sizes.c,v 3.2.2.2 1997/05/11 02:56:13 dawes Exp $ */
#include "regs3v.h"
#define PS(set) printf(#set "_regs \t\t = %04x\n", &((mmtr)0)->set ## _regs)
#define P(set,reg) printf(#set "_regs.regs." #reg " \t = %04x\n", &((mmtr)0)->set ## _regs.regs.reg)
main()
{
PS(pci);
PS(streams);
PS(memport);
PS(v3b);
PS(v3c);
PS(v3d);
PS(subsys);
PS(dma);
PS(colpatt);
PS(bltfill);
PS(line);
PS(polyfill);
PS(line3d);
PS(triangle3d);
PS(lbp);
printf("\n" );
printf("\n" );
P(bltfill,src_base);
P(bltfill,dest_base);
P(bltfill,clip_l_r);
P(bltfill,clip_t_b);
P(bltfill,dest_src_str);
P(bltfill,mono_pat0);
P(bltfill,mono_pat1);
P(bltfill,pat_bg_clr);
P(bltfill,pat_fg_clr);
P(bltfill,src_bg_clr);
P(bltfill,src_fg_clr);
P(bltfill,cmd_set);
P(bltfill,rwidth_height);
P(bltfill,rsrc_xy);
P(bltfill,rdest_xy);
printf("\n" );
P(line,src_base);
P(line,dest_base);
P(line,clip_l_r);
P(line,clip_t_b);
P(line,dest_src_str);
P(line,pat_fg_clr);
P(line,cmd_set);
P(line,lxend0_end1);
P(line,ldx);
P(line,lxstart);
P(line,lystart);
P(line,lycnt);
printf("\n" );
P(polyfill,src_base);
P(polyfill,dest_base);
P(polyfill,clip_l_r);
P(polyfill,clip_t_b);
P(polyfill,dest_src_str);
P(polyfill,mono_pat0);
P(polyfill,mono_pat1);
P(polyfill,pat_bg_clr);
P(polyfill,pat_fg_clr);
P(polyfill,cmd_set);
P(polyfill,prdx);
P(polyfill,prxstart);
P(polyfill,pldx);
P(polyfill,plxstart);
P(polyfill,pystart);
P(polyfill,pycnt);
printf("\n" );
P(line3d,z_base);
P(line3d,dest_base);
P(line3d,clip_l_r);
P(line3d,clip_t_b);
P(line3d,dest_src_str);
P(line3d,z_stride);
P(line3d,fog_clr);
P(line3d,cmd_set);
P(line3d,dgdy_dbdy);
P(line3d,dady_drdy);
P(line3d,gs_bs);
P(line3d,as_rs);
P(line3d,dz);
P(line3d,zstart);
P(line3d,xend0_end1);
P(line3d,dx);
P(line3d,xstart);
P(line3d,ystart);
P(line3d,ycnt);
printf("\n" );
P(triangle3d,z_base);
P(triangle3d,dest_base);
P(triangle3d,clip_l_r);
P(triangle3d,clip_t_b);
P(triangle3d,dest_src_str);
P(triangle3d,z_stride);
P(triangle3d,tex_base);
P(triangle3d,tex_bdr_clr);
P(triangle3d,fog_clr);
P(triangle3d,color0);
P(triangle3d,color1);
P(triangle3d,cmd_set);
P(triangle3d,bv);
P(triangle3d,bu);
P(triangle3d,dwdx);
P(triangle3d,dwdy);
P(triangle3d,ws);
P(triangle3d,dddx);
P(triangle3d,dvdx);
P(triangle3d,dudx);
P(triangle3d,dddy);
P(triangle3d,dvdy);
P(triangle3d,dudy);
P(triangle3d,ds);
P(triangle3d,vs);
P(triangle3d,us);
P(triangle3d,dgdx_dbdx);
P(triangle3d,dadx_drdx);
P(triangle3d,dgdy_dbdy);
P(triangle3d,dady_drdy);
P(triangle3d,gs_bs);
P(triangle3d,as_rs);
P(triangle3d,dzdx);
P(triangle3d,dzdy);
P(triangle3d,zs);
P(triangle3d,dxdy12);
P(triangle3d,xend12);
P(triangle3d,dxdy01);
P(triangle3d,xend01);
P(triangle3d,dxdy02);
P(triangle3d,xstart02);
P(triangle3d,ystart);
P(triangle3d,y01_y12);
printf("%08x\n",CMD_RECT |
/*MIX_MONO_PATT |*/
INC_Y | INC_X | DRAW /*s3alu[pGC->alu]*/ );
}
le petit probleme est le suivant meme si je connaisait ce langage il faudrai que je puise communique avec cette api mais alors comment , la je mi perd
L'immortel
Marsh Posté le 26-06-2005 à 16:33:56
re
je vient de verifier c'est bien du c
pense tu qu'il y a moyen de trouver comment comunique avec elle ou il faut absolument que je verifie toute l'api
ce qui risque d'etre long
L'immortel
Marsh Posté le 26-06-2005 à 16:51:59
L'immortel a écrit : re |
Tu m'as l'air un poil confu...
Qu'est ce que tu veux faire précisément? Tu veux hacker des drivers (dans ce cas, il y a un client DRI qui traine... mais si tu n'es même pas capable de reconnaitre du C cela risque d'être un chouilla complexe pour toi )? Tu veux hacker le serveur X? Ou tu veux simplement dessiner des triangles et des ronds de couleurs?
Bref, a quoi devrait ressembler ton résultat final?
Marsh Posté le 26-06-2005 à 17:36:12
mon but final est de cree mon propre os mais je suis surtout tourne asm cela fesait longtemp que je n'aivais plus vu du c
mon veritable probleme c'est ma carte graphique programmer le gpu et pouvoir utiliser la memoire a ma facon
le debut ce serat surtout de simple lettre ou simbole que je cree moi meme
en somme tout retaper depuit le debut mais la suite si je m'en tire pas trop mal peut etre de la 3d mais je prefere ne pas trop reve
L'immortel
Marsh Posté le 26-06-2005 à 18:04:20
L'immortel a écrit : mon but final est de cree mon propre os mais je suis surtout tourne asm cela fesait longtemp que je n'aivais plus vu du c |
arrête-toi tout de suite alors
Si t'arrive pas à déterminer que c'était du c, t'es vraiment mal barré ne serait-ce que pour écrire le bootloader de ton os.
Au fait, en asm tu as déjà écrit quoi comme programme ?
Marsh Posté le 26-06-2005 à 18:19:31
pratiquement rien mais je suis patient et determiner
de plus la plus grande partie de l'os sera fait en asm et le boot lui le sera d'office je compte cree aussi mon propre systeme de fichier
pour le langage des que j'en aurez la possibilite je le creerais moi meme pour tout en connaitre
pas la peine de me dire que je suis fou on me la dega dit
ensuite si sa se fait je n'aurait plus que des probleme de driver si je souhaite qu'il sois transportable se qui ne m'interrese pas pour l'instant.
L'immortel
Marsh Posté le 26-06-2005 à 18:22:26
L'immortel a écrit : mon veritable probleme c'est ma carte graphique programmer le gpu et pouvoir utiliser la memoire a ma facon |
Non, ce n'est pas vraiment pas le problème. Tu peux tout à fait te contenter de manipuler la mémoire vidéo (mappée quelque part dans la mémoire physique, utilise google) pour écrire du texte. L'écriture d'un vrai driver vidéo vient tardivement dans l'écriture d'un noyau (si tu l'écris tout seul en assembleur x86, tu peux compter quelques années avant d'en arriver là ).
Marsh Posté le 26-06-2005 à 18:28:09
L'immortel a écrit : pratiquement rien mais je suis patient et determiner |
Pas fou, incapable de se rendre compte de l'ampleur du boulot.
Alors si en plus tu n'a "pratiquement rien" programmé en assembleur, et que tu veux te mettre à faire un OS, disons que c'est impossible
Si c'était si facile, pourquoi n'existe-il pas des milliers d'os et des milliers de systèmes de fichier ?
Si en plus tu n'a jamais mis le nez dans la prog système, laisse tomber, tu vas lire quelques docs, demander à droite et à gauche des trucs basiques, tout le monde va se foutre de toi, et tu arrêtera bien gentillement.
Marsh Posté le 26-06-2005 à 18:42:57
incapable de me rendre compte de l'ampleur du boulot cela fait plus d'un ans que je suis dessus ,je sais qu'il me restent du chemin a faire mais quand meme de plus les os ne grouille pas car la difficulte est le probleme que je rencontre en ce moment les drivers c'est la raisont qui me pousse a ne pas le rendre portable ce qui entrainera trop de recherche et de difficulte
de plus en additionnent une aide plus une autre ect sa permet de se faire une bonne idee de la difficulte
il me restent encore des recherche avant de passer a l'ancodage alors la passience est de riggeur
L'immortel
Marsh Posté le 26-06-2005 à 18:47:06
L'immortel a écrit : incapable de me rendre compte de l'ampleur du boulot cela fait plus d'un ans que je suis dessus ,je sais qu'il me restent du chemin a faire mais quand meme de plus les os ne grouille pas car la difficulte est le probleme que je rencontre en ce moment les drivers c'est la raisont qui me pousse a ne pas le rendre portable ce qui entrainera trop de recherche et de difficulte |
On peut voir où ça en est ?
ps ublie pas de faire un correcteur d'orthographe à ton os, une faute quasiment tous les mots, c'est pas bon
Marsh Posté le 26-06-2005 à 18:55:16
il n'est encore que theorique pour l'hortographe j'ai toujour ete nul
je sais cela ne sera pas triste de plus je te repond en travaillant pas si facile que ca
je ne pense pas faire un traitement de texte qui me serait inutilemment complique et me ralentirais de trop
L'immortel
Marsh Posté le 26-06-2005 à 19:00:31
ReplyMarsh Posté le 26-06-2005 à 19:00:38
L'immortel a écrit : pratiquement rien mais je suis patient et determiner |
Tu te fais des illusions mon pauvre...
Marsh Posté le 26-06-2005 à 19:06:43
L'immortel a écrit : il n'est encore que theorique pour l'hortographe j'ai toujour ete nul |
Donc tu as fait de la théorie pendant un an. Soit.
Ils sont où tes documents rédigés, tes diagrammes, tes plans sur ton futur os ? Genre sur le choix du type de noyau par exemple, en 1 an, t'as eu le temps d'y réfléchir.
Marsh Posté le 26-06-2005 à 19:07:20
L'immortel a écrit : pratiquement rien mais je suis patient et determiner |
C'est pas qu'on veuille te décourager mais on a déjà vu nombre de gens passer par ici, disant vouloir faire leur propre OS. Et ils n'y connaissaient rien, pas même le C. Commence par apprendre le C et l'ASM à fond parce que tu en auras fort besoin.
Surtout si tu n'as aucune expérience, faire un OS en premier lieu est pure folie. Essaie déjà de faire une application modeste en pur C et on en reparlera.
Marsh Posté le 26-06-2005 à 19:16:52
L'immortel a écrit : incapable de me rendre compte de l'ampleur du boulot cela fait plus d'un ans que je suis dessus |
Haha
Un OS en ASM tout seul...
Et il commence par se poser des questions sur l'accès à sa carte vidéo...
haha
Je te suggère d'aller visiter les newsgroups et de rechercher les premiers posts de Linus concernant Linux
Marsh Posté le 26-06-2005 à 19:17:20
en fait vous me stimuler
j'en ais dega vu des verte et des pas mure m'est aussi peu psycologique dangereuse c'est la premiere fois c'est un regal
merci
L'immortel
Marsh Posté le 26-06-2005 à 19:23:34
Je te conseille de voir ceci : http://forum.hardware.fr/hardwaref [...] 9284-1.htm
Sinon , expose plus ton projet, histoire qu'on arrète de te prendre pour un megalomane numérique ! serieusement !
Marsh Posté le 26-06-2005 à 19:28:00
L'immortel a écrit : en fait vous me stimuler |
C'est pas pour te décourager mais, même en commencant maintenant, à la fin de ta vie tu arriverais peut-être à 50% d'un OS basique.
Marsh Posté le 26-06-2005 à 19:33:54
L'immortel a écrit : en fait vous me stimuler |
Oui, c'est bien, au fait il t'a été demandé quelle philosophie tu choisissais au niveau du noyau, on peut avoir la réponse?
Citation : C'est pas pour te décourager mais, même en commencant maintenant, à la fin de ta vie tu arriverais peut-être à 50% d'un OS basique. |
Vu son approche de la chose, ce serait déjà un miracle qu'il arrive à quoi que ce soit
Marsh Posté le 26-06-2005 à 19:36:33
merci pour le lien j'ai bien rigoler mais de la a me compare
pour l'exposer faudra attendre un peu j'ai encore trop de chose a faire
pour les 50% a la fin de ma vie sa tout dependra de ma vitesse et de la bonne volonte par rapport a mes demande d'aide
L'immortel
Marsh Posté le 26-06-2005 à 19:38:56
L'immortel a écrit : merci pour le lien j'ai bien rigoler mais de la a me compare |
non, fais voir ce que tu as fait en une année ! Si tu as fait quelque chose tu peux le montrer non ?
Marsh Posté le 26-06-2005 à 19:44:51
la plupart des truc son des site des petit doc sur certaine partie de l'hardware je ne pense pas pouvoir tout mettre ici
en plus le restent est en tete
et comme je ne le tape pas il est dur de voir ou ca en est
L'immortel
Marsh Posté le 26-06-2005 à 19:48:10
L'immortel a écrit : la plupart des truc son des site des petit doc sur certaine partie de l'hardware je ne pense pas pouvoir tout mettre ici |
Donne juste l'url alors, on se débrouillera.
Et pour le reste, tu compte l'écrire ton os ? Ou alors le garder dans ta tête aussi ?
Marsh Posté le 26-06-2005 à 19:52:03
T'as toujours pas répondu à la question du noyal
Marsh Posté le 26-06-2005 à 19:57:47
L'immortel a écrit : la plupart des truc son des site des petit doc sur certaine partie de l'hardware je ne pense pas pouvoir tout mettre ici |
T'es bien partit là.
Marsh Posté le 26-06-2005 à 20:10:39
vous vous amuse pendant que le chat mange et bien tant mieux au moin il y en a qui essaye de garde la tete sur leur epaule mes si sa continue il vont quand meme la perdre
le noyaux une des possibiliterserait de l'installer dans la carte graphique mais cela serait un peu pousser la
les autre possibiliter son classique
la seule chose qui est certaine est que je le connaitrais a fond ce qui me permetra de le modifier comme je le souhaite sans d'enorme recherche sur ce qu'il y a moyen de faire ou ne pas faire
L'immortel
Marsh Posté le 26-06-2005 à 20:13:04
Bon ça me saoul, je vais poser des questions concrète
C'est quoi le principe de ton os ?
A quoi sert il ?
Quel licence ?
que veux tu faire dessus ?
Penses tu en faire commerce ?
En quoi veut tu le programmer ? quel langage ?
Pourquoi tu veux tout refaire quand déjà beaucoup d'os libre (et je parle pas de linux ou des bsd, mais de très nombreux os dont en ASM qui ont besoin de contribution) ?
Marsh Posté le 26-06-2005 à 20:13:09
L'immortel a écrit : vous vous amuse pendant que le chat mange et bien tant mieux au moin il y en a qui essaye de garde la tete sur leur epaule mes si sa continue il vont quand meme la perdre |
C'est original.
Marsh Posté le 26-06-2005 à 20:15:21
Tiens voila une adresse d'un os programmé en asm et qui a besoin de dev : http://www.v2os.cx/
Marsh Posté le 26-06-2005 à 20:16:08
Reply
Marsh Posté le 26-06-2005 à 00:28:12
bonjour
je voudrais cree ma propre api pour ma s3 virge
j'ai fouille avec notre ami
pourtant je n'ai rien trouver qui pourais etre utile
je me suis dit qu'il y aurais moyen de taper mon code en asm pour programmer le gpu
le petit probleme est que comme j'ai pus le lire sur un autre forum que les fabriquents les cree eux meme et prefere garder leur petit secret pour eux!
y aurai t'il moyen de contourne le probleme sans devoir desassemble un de leur drivers
toute aide est la bien venue merci
L'immortel