1

Salut,

ces derniers jours, j'ai voulu remplacer les outils originaux MadMac et ALN d'Atari par des logiciels plus récents, car les binaires disponibles pour Linux sont de plus en plus difficiles à faire marcher sur les distrib récentes.

J'ai ainsi voulu remplacer ALN par RLN, mais j'ai rapidement abandonné car RLN ne supporte pas les archives (qui sont utilisés pour distribuer des bibliothèques d'objets).

Comme j'avais quelques jours à tuer, j'ai donc décidé de programmer mon propre linker dans un langage de haut niveau (OCaml pour ne pas le citer).
Je suis arrivé à un point où j'ai un outil qui semble marcher et j'ai donc voulu partager ce nouvel outil avec la communauté Jaguar.

Les sources sont disponibles sur mon dépôt github. Comme je sais qu'ocaml est un peu pénible à installer sous Windows, je distribue aussi une version binaire de la version actuelle de ce nouvel outil sur le site des Removers.

Je suis intéressé par tous vos rapports d'expérience, suggestions, ...

Seb

2

Un jour faudrait que j'essaie d'installer des outils de dev Jag sur mon PC O_o

Car a cette heure, c'est Devpac + MadMac smile


GT Oldschool
avatar
Accrochez vous ca va être Cerebral !!

3

On va bientôt se retrouver avec autant d'outils que de codeurs hehe
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

4

Zerosquare (./3) :
On va bientôt se retrouver avec autant d'outils que de codeurs hehe


Si tous ces outils avait été présent durant la vie de la Jag, elle aurait eu plus de jeux et donc une durant de vie plus qu'anecdotique.


GT cow
avatar
Accrochez vous ca va être Cerebral !!

5

Zerosquare (./3) :
On va bientôt se retrouver avec autant d'outils que de codeurs hehe


Oui, tu as raison.
J'ai un peu hésité avant de me lancer dans ce projet.
Mais la perspective de hacker du vieux code C bien dégueulasse m'a découragé de contribuer à RLN (autrement que par mon patch trivial pour le flag -y)

(on est d'accord que RLN n'est rien d'autre qu'un fork d'un vieil ALN datant d'avant la Jaguar et qui a été rehacké de manière à supporter la Jaguar et en espérant faire les même hacks que Brainstorm à l'époque où ça a été étendu pour la Jag?)

6

Il me semble que c'est ça, oui.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

7

oula compliqué ta derniere phrase sebrmv embarrassed
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

8

Vous êtes en train de dire que le kit de dev a été bricolé comme la Jag ?


.................................................


Et vous avez parfaitement raison !!


GT wink
avatar
Accrochez vous ca va être Cerebral !!

9

Godzil (./7) :
oula compliqué ta derniere phrase sebrmv embarrassed


Ouh là, oui en effet smile

10

-

11

let swap_words v =
let low = Int32.logand v 0xffffl in
let high = Int32.logand (Int32.shift_right_logical v 16) 0xffffl in
Int32.logor (Int32.shift_left low 16) high


let's kill myself ! grin

12

Serieux du ocaml? couic
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

13

#define ROT16(w) ((w&0xFFFF)<<16 | (w>>16))

C pawa

14

swap.l d0

forever

trigic
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

15

68000 kick Ocaml with a big movem.l !!!


GT dehors
avatar
Accrochez vous ca va être Cerebral !!

16

Godzil (./12) :
Serieux du ocaml? couic
Oui, c'est SebRmv, il est sympa mais il a ses côtés bizarres cheeky
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

17

Je ne te le dire pas fait @cheeky
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

18

squalyl (./11) :
let swap_words v =
let low = Int32.logand v 0xffffl in
let high = Int32.logand (Int32.shift_right_logical v 16) 0xffffl in
Int32.logor (Int32.shift_left low 16) high


let's kill myself ! grin


J'ai en effet un petit côté masochiste.
J'aurais pu redéfinir des opérateurs pour que ce bout de code soit plus sympa à lire.

let ( &&& ) = Int32.logand
let ( ||| ) = Int32.logor
let ( >>> ) = Int32.shift_right_logical
let ( << ) = Int32.shift_left

let swap_words v =  ((v &&& 0xffffl) << 16) ||| (v >>> 16)

(à noter que j'ai mis un logand inutile dans le code d'origine)

On peut aussi ouvrir localement le module Int32, ça donnerait

let swap_words v =
  let open Int32 in
  let low = logand v 0xffffl in
  let high = shift_right_logical v 16 in
  logor (shift_left low 16) high


SI je n'avais pas besoin d'entiers 32 bits, mais seulement du type int d'ocaml, ça s'écrirait directement comme ceci:
let swap_words v = ((v land 0xffff) lsl 16) lor (v lsr 16)


Mais ici, j'ai vraiment besoin d'entiers 32 bits (et non 31 ou 63 bits, dépendant de l'architecture). Pour ceux qui rigolent au fond de la classe, le dernier bit est utilisé par le Garbage Collector pour distinguer les entiers des pointeurs.


Je lancerais bien un débat sur les langages, en vous demandant ce que vous reprochez à OCaml, juste par curiosité. Est-ce la syntaxe du langage qui ne vous plait pas? Moi, je trouve assez amusant et réjouissant que le mouvement actuel des langages plus "mainstream" est justement de s'inspirer pas mal des features des langages fonctionnels (lambda en C++ ou Java 8, type génériques, ...)

19

Je pense qu'on peux arreter les débats sur les langages, il en existe plein, ils ont chacun leur but smile

Après on pourra sortir la bouteille de Coca le jour ou j'arriverai a programmer avec un langage de 'haut niveau', ca sera un autre débat pour sur smile



GT octopus
avatar
Accrochez vous ca va être Cerebral !!

20

Ben t'as déjà fait du GFA non ? C'est un langage de haut niveau smile
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

21

Je sais pas si les 'pro -C' et tutti quanti considèrent le 'basic' comme du haut niveau.

J'ai rencontré de cela il y a un moment un programmeur en Java. On parle programmation, il me demande quel langage ? Je lui réponds basic, il explose de rire, et je lui réponds comme second langage, l'assembleur. La bizzarement il rigolait beaucoup beaucoup moins.

Pour lui le Java c'est le langage ultime, 'tu sais même des cafetières fonctionnent avec', bien sur lui tu réponds 'tu en est sur qu'elle fonctionne ?',

Bon on va clore la parenthèse on est en train de 'pourri' le sujet a Seb.


GT octopus
avatar
Accrochez vous ca va être Cerebral !!

22

-

23

Ben oui le Basic est du haut niveau, a tel point que le C est du bas niveau a cote grin
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

24

sebrmv (./19) :
ce que vous reprochez à OCaml

C'est un Ovni qui va limiter les contributions à ton projet.
Et puis j'aime pas c'est tout embarrassed

25

C'est trop... parenthesique..
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.