1

Bonjour à tous,

Je n'ai pas d'expérience dans la compilation de code C pour Atari ST (pour Linux, ça va, mais pas pour le ST). J'aurais besoin d'aide pour compiler du code qui se trouve ici.

J'ai dézippé sur mon ordinateur Linux, j'ai tapé "make -f atari.mak", et la compilation a échoué ; mon compilateur ne trouve pas le fichier "osbind.h". J'imagine que "osbind.h" est un fichier spécifique à la compilation pour Atari ST ? Où puis-je me le procurer ? Est-ce qu'il va me manquer autre chose ?
J'espère pouvoir compiler cet outil, JZip version 2.1 (version de 2000), car la seule version disponible est la version 2.0.1 (pour Atari ST 16 bits ou 32 bits, pour MiNT ou TOS), qui date de 1995, et j'espère que la nouvelle version (qui n'a, je crois, jamais été compilée) résout quelques bugs.

Si quelqu'un peut m'indiquer la marche à suivre (voire même, si ça n'est pas trop demander, compiler cet outil pour moi, si vous avez déjà toutes les bibliothèques déjà en place sur votre ordinateur...), je lui en serais très reconnaissant smile Merci d'avance !
avatar

2

Bonjour, il me semble qu'il y a des cross-compiler pour atari, il doit y avoir toutes les dépendances nécessaires. une recherche rapide remonte cette version : http://vincent.riviere.free.fr/soft/m68k-atari-mint/ qui liste aussi https://tho-otto.de/crossmint.php (et aussi http://patrice.mandin.pagesperso-orange.fr/v3/en/patch-utils.html mais ça a l'air dédié à la cross compilation pour obtenir cet outillage sur mint.

il y a aussi une discussion sur la compilation avec une librairie C minimale topics/191862-compiler-avec-libcmini-sous-gcc .

Bon courage.

3

osbind.h est le fichier d'en-tête de la MiNlib contenant les bindings du système d'exploitation TOS de l'Atari.
Avec les liens fournis par Sporniket tu peux facilement obtenir un environnement de cross compilation avec la MiNTlib intégrée.
J'ai essayé de compiler le projet. J'ai fait quelques adaptations mineures dans atariio.c mais ça foire quand même car la librairie termcap est manquante. Je regarde...

4

J'ai envoyé un email à Vincent Rivière, car en essayant d'installer ça sur Linux, un des paquets sur son serveur PPA est introuvable. Je pense que ce paquet contient osbind.h, vu que j'ai toujours la même erreur de compilation...

Merci pour votre aide en tout cas. Vin67, est-ce que termcap n'est pas incluse dans CygWin ? (Es-tu sur Windows ?) Il me semble qu'elle est présente sur certains systèmes linux, donc peut-être que Cygwin l'a ?
On se tient au courant smile
avatar

5

Vincent Rivière m'a répondu et il s'avère que c'est moi qui avait fait une erreur ^^ Donc, pour osbind.h, c'est parce qu'il fallait que j'utilise m68k-atari-mint-gcc et pas gcc.
Du coup, j'en suis au même point que toi Vin67... la lib termcap est manquante

C'est étrange car on retrouve ce nom de fichier dans ncurses pour Linux. Sauf que j'ai installé ncurses sur ma machine et ça ne veut toujours pas. Il faut sans doute ncurses pour Atari ST ; mais j'ai installé le paquet ncurses-m68k-atari-mint, pourtant...
Donc j'ai re-renvoyé un email à Vincent Rivière smile
avatar

6

C'est encore moi... Vincent Rivière m'a indiqué que c'est juste que son paquet a une configuration un peu non-standard. Il faut remplacer "-ltermcap" par "-lncurses" et ajouter "#include <ncurses/termcap.h>".

Après quelques modifications bénignes, j'arrive à un nouveau fichier atariio.c joint à ce message. Ça compile, puis je change "jzip" en "jzip.ttp", je mets sur une disquette virtuelle avec mon fichier de jeu, je lance...
... et ça rame énormément, et ça finit par afficher le texte sur une seule ligne qui s'efface en permanence.
(J'ai aussi essayé la version précédente, 2.0.1.g, et ça fait exactement pareil.)

Si quelqu'un a une idée, je veux bien, mais je pense que je vais laisser reposer pour le moment smile

tromb Fichier joint : atariio.c
avatar

7

Déjà ça compile, y'a de l'espoir smile
Ah j'avais essayé avec -lncurses mais il devait me manquer l'include!
Ca peut pas être une histoire de \n au lieu de \r\n ? Du fait que le le programme est fait pour unix. Si le fichier compile il faudrait essayer de faire un petit programme pour tester les différentes fonctions.

8

J'y ai pensé aussi, mais le programme écrit "\r" directement...

En fait, quelqu'un sur un autre forum m'a résolu le problème. Il fallait utiliser le termcap original, pas celui de ncurses de m68k-atari-mint-gcc. Pourquoi ? Mystère; "TOS n'aime pas ncurses".
Bref, j'ai perdu pas mal de temps sur ça, pour au final avoir un sentiment d'injustice, mais au moins je vais récupérer le programme compilé grin

Merci pour votre aide en tout cas. Je vais faire quelques tests, mais si ça marche bien (j'avais écrit de nouvelles fonctions pour afficher les accents correctement) je vais pouvoir porter mon jeu en français sur Atari ST, ce qui était le but grin Je vous tiens au courant.
avatar

9

Cool ! C'est bon à savoir d'ailleurs, peut-être qu'il est possible d'adapter d'autres programmes nécessitant termcap pour qu'ils fonctionnent sur TOS normal !

10

C'est tout bon ! Ça compile, ça marche !
Si ça vous intéresse, ou si un jour vous cherchez termcap pour TOS, c'est dans ce post ; il faut juste rajouter "char PC_;" dans tputs.c et ça marche bien.
Youpi !!
avatar