Vu qu'il les a contribuées à TIGCCLIB, elles sont sous la licence de TIGCCLIB:
TIGCC Library Routines
Copyright (C) 2000-2001 Zeljko Juric, Thomas Nussbaumer, and
Kevin Kofler
This file is part of TIGCC.
TIGCC is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
In addition to the permissions in the GNU General Public License, the
TIGCC Team gives you unlimited permission to link the compiled
versions of these files with other programs, and to distribute
those programs without any restriction coming from the use of this
file. (The General Public License restrictions do apply in other
respects; for example, they cover modification of the files, and
distribution when not linked into another program.)
These files are distributed in the hope that they will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, write to the Free Software
Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Donc tu as le droit de modifier
gray.s à condition de ne pas diffuser une version modifiée sans ses sources. Mais change le nom de tous les symboles (labels et variables) pour éviter des conflits avec
tigcc.a!
TiMad a écrit :
Le probleme de votre routine, c'est que si on est sur une HW1, le 'GPlan' (pour reprendre le terme de XLib) est séparé en 2, ce qui implique que si je veux utiliser votre routine avec un acces direct, je ne peux le faire que sur les HW2
Tu récupères l'adresse d'un plan à la fois tout bêtement. Je ne vois pas du tout le problème.
Si tes routines ont l'habitude de travailler avec un:
struct GPlan {
char plan0[3840];
char plan1[3840];
}
tu les changes pour travailler avec un:
struct GPlan {
char *plan0;
char *plan1;
}
à la place. En C, ça ne changera rien, et en assembleur, ça ne fait que quelques lignes à changer.