Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Hebdogiciel : Atari 520 ST-Comment taper un programme Basic sur émulateur?

7 réponses
Avatar
GzavSnap
Salut,

Je fait appel à votre Savoir sur cette machine, car je ne sais pas comment
taper des programmes de cette machine sur émulateur !
L'équipe de "Hebdogiciel,les listings..." ont créé des pages pour expliquer
comment taper des programmes pour certaines machines...
Mais, ils ont rien pour l'Atari 520 ST et le 1040 ST.
Il manque une disquette exemple avec le Basic et un fichier (basic ou en
ascii) pour orienter les personnes voulant entrer les programmes.

Je prends l'exemple de "Labyrinthe 3D" (HEBDOGICIEL n°163 page 4)
L'auteur parle d'un langage C de Digital Research...

Et "Alpha & pousse pouce" programmé en STbasic ...(HEBDOGICIEL n°162 page
28)

Pourriez-vous m'indiquer comment taper facilement ces programmes (grâce à
des fichiers texte issus d'un OCR) ?
Et-il possible d'obtenir des exemples en Basic/C comme exemple...(ou les
télécharger?) ?
Merci,
Cordialement,

7 réponses

Avatar
Guillaume Tello
Le 09/11/2011 16:42, GzavSnap a écrit :
Salut,

Je fait appel à votre Savoir sur cette machine, car je ne sais pas comment
taper des programmes de cette machine sur émulateur !
L'équipe de "Hebdogiciel,les listings..." ont créé des pages pour expliquer
comment taper des programmes pour certaines machines...
Mais, ils ont rien pour l'Atari 520 ST et le 1040 ST.
Il manque une disquette exemple avec le Basic et un fichier (basic ou en
ascii) pour orienter les personnes voulant entrer les programmes.

Je prends l'exemple de "Labyrinthe 3D" (HEBDOGICIEL n°163 page 4)
L'auteur parle d'un langage C de Digital Research...



Le ST n'a pas de langage intégré en ROM.
Donc, quand on l'allume, il ne sait "rien" faire!

Il faut se procurer un logiciel supplémentaire qu'on lance et qui va
permettre d'éditer le programme, de l'enregistrer, puis de le compiler
(avec le Lattice C ou Pure C si c'est du langage "C" ou avec le GFA,
l'Omikron ou le ST BASIC).

Sans ces logiciels, pas de programmation!

Guillaume.


Et "Alpha& pousse pouce" programmé en STbasic ...(HEBDOGICIEL n°162 page
28)

Pourriez-vous m'indiquer comment taper facilement ces programmes (grâce à
des fichiers texte issus d'un OCR) ?
Et-il possible d'obtenir des exemples en Basic/C comme exemple...(ou les
télécharger?) ?
Merci,
Cordialement,


Avatar
Tintin
On 09/11/2011 17:17, Guillaume Tello wrote:
Le ST n'a pas de langage intégré en ROM.
Donc, quand on l'allume, il ne sait "rien" faire!



Ou plutot, il sait tout faire. :)
Il a un noyau en ROM, qui demarre soit sur un soft quelconque (jeu,
etc), soit une interface graphique (GEM). Apres, je ne sais pas si c'est
comme l'Amiga, qui via une disquette bootable te permet de lancer le CLI
(Command Line Interface) contenu dans la ROM.
C'est booo le progres, avec l'UEFI on revient vers ces architectures 20
ans apres. :) Ca, et les copro dedies et les bus communs ou les copro
savent se causer entre eux et avec la RAM sans passer par le CPU (PCI
Express). :)
Amiga veni, vidi, vici. :)

--
Tintin
Avatar
GzavSnap
Salut,
Merci pour ces réponses...
Je me suis donc replongé dans le GEM, le TOS et ... le reste.

On 09/11/2011 17:17, Guillaume Tello wrote:
Le ST n'a pas de langage intégré en ROM.
Donc, quand on l'allume, il ne sait "rien" faire!



Ou plutot, il sait tout faire. :)
Il a un noyau en ROM, qui demarre soit sur un soft quelconque (jeu, etc),
soit une interface graphique (GEM). Apres, je ne sais pas si c'est comme
l'Amiga, qui via une disquette bootable te permet de lancer le CLI
(Command Line Interface) contenu dans la ROM.
C'est booo le progres, avec l'UEFI on revient vers ces architectures 20
ans apres. :) Ca, et les copro dedies et les bus communs ou les copro
savent se causer entre eux et avec la RAM sans passer par le CPU (PCI
Express). :)
Amiga veni, vidi, vici. :)


Donc, j'ai télécharger le Digital Research STbasic ... et compilé/lancé le
jeu.
C'est Ok pour le Basic... il sera dispo. sur le site
http://www.hebdogiciel.fr dès que possible.

Par contre, j'ai un problème d'IOs disque sur le compilateur C : "AHCC" Avec
"Steem": pas de chargement/enregistrements.
<http://translate.googleusercontent.com/translate_c?hl=fr&langpair=en%7Cfr&rurl=translate.google.fr&u=http://members.chello.nl/h.robbers/&usg=ALkJrhi8vjqnoDEkRUhQvq0CbwLbMXrr0w>

J'ai cherché le compilateur C de Digital Research mais je ne l'ai pas
trouvé!
Avez-vous un lien vers une page de téléchargement ?

Merci,
Xav.
Avatar
Thierry Schembri
google "pure c atari", tu devrais pouvoir trouver un lien vers pure c
(la version atari st de borland turbo c).
Avatar
GzavSnap
"Thierry Schembri" wrote in message
news:ja9t95$ec9$
| google "pure c atari", tu devrais pouvoir trouver un lien vers pure c
| (la version atari st de borland turbo c).

Merci pour l'aide et les pistes proposées.
Cela m'a permis de compiler le programme.
J'ai téléchargé le "Pure C" et le "Turbo C" pour Atari St.
Mais, je n'y ai pas trouvé les fichiers attendus par les codes du Digital
Research C.

A savoir les fichiers:
#include <stdio.h>
#include <gemdefs.h>
#include <obdefs.h>
#include <vdibind.h>

Par contre, le Turbo C et le Pure C semblent très proches et compatibles.

Toutefois, il existe des correspondances entre fichiers Headers:
"Digital Research C" == "Pure C" & "Turbo C"
#include <stdio.h> = #include <stdio.h>
#include <gemdefs.h> = #include <graphics.h>
#include <obdefs.h> = #include <stdlib.h> + #include <stdarg.h>
#include <vdibind.h> = #include <vdi.h> + #include <aes.h>

Mais, le programme ne ce compile pas !
En effet, le DR C est très avard au niveau des déclarations de fonctions.

DRC:
bonjour ( x , y )
int x,y;
{...
...}
--------------------------------
PURE_C/TURBO_C:
void bonjour (int x , int y)
{...
...}
Et en début de code, vous devez déclarer chaque fonctions avec :
/* */
/* Function prototypes */
/* */
void bonjour (int x , int y);

Une fois ces petites modifications effectuées... il faut lier les librairies
aux declaractions des fichiers Headers inclus.
Pour cela, on va créer un fichier "Projet".

Fichiers Projets: (liaisons avec les librairies graphiques et système)
Digital Research C= PROJET.BAT
;--- Compilation des blocs---> *.O
cp68 %1.c 1.i
co68 %1.i %1.1 %1.2 %1.3 -F
RM %1.i
C168 %1.1 %1.2 %1.S
RM%1.1
RM%1.2
AS68 -L -U %1.S
RM %1.S
WAIT.PRG
;--- Assemblage des blocs---> *.PRG
LINK68 [U] %1.68k=GEMSTART,%1,VDIBIND,AESBIND,OSBIND,GEMLIB,LIBF
RELMOD %1
RM %1,68k
WAIT.PRG

Turbo C et le Pure C=PROJET.PRJ
PROJET.PRG
tcstart.o ; TURBO C COMPILER
PROJET.C

TCSTDLIB.LIB ; standard library
TCGEMLIB.LIB ; AES and VDI library
TCBGILIB.LIB ; BGI library
TCFLTLIB.LIB ; floating point library
TCEXTLIB.LIB ; extended library
TCTOSLIB.LIB ; TOS library
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
(Pour le "Pure C" Il faut remplacer les "TC" par "PC"... pcstart.o,
PCSTDLIB.LIB etc...
Voilà, le programme en code DR C est compilé sous Turbo C et Pure C...

Attention toutefois à la structure du code...
Il est parfois difficile de baliser les fonctions comporant des
"{...{...}...}" dans tout les sens.
Dans ce cas, vous pouvez vous aider de l'éditeur Dev-Cpp pour afficher les
routines et les fonctions du programme.
Le C est un langage très déroutant pour les débutants...
En effet, vue le mode linéaire de compilation, un simple oubli de "}"(pour
cloturer un fonction), peut entrainer un centaines d'erreurs en cascade !
Donc, il faut une certaines rigueur (quitte à ajouter des espaces pour
visualiser les "paragraphes") et vérifier à deux fois la syntaxe... car les
minuscules et les majuscules (la case) ne sont pas lue de la même façon.
Dans ce brouillard d'erreurs, on a vite fait de paniquer... le comptage des
parenthèses prend la tête, et les caprices du compilateur sont décourageant.
Il faut donc rester Zen... le "C" n'est pas un langage où le stress est
créatif.

Vous pouvez retrouver un exemple publier dans l'Hebdogiciel n°163 de
Stéphane BUTEL.
http://zx81.ordi5.free.fr/hebdogiciel/atari/

Compilateur Pure C :
http://rg.atari.org/source.htm

Merci aux intervenants qui m'ont aidé à compiler cet exemple.

Bonne rétro-programmation sur Atari St.
Avatar
Lucas Levrel
Le 12 janvier 2012, GzavSnap a écrit :

En effet, le DR C est très avard au niveau des déclarations de fonctions.

DRC:
bonjour ( x , y )
int x,y;
{...
...}
--------------------------------
PURE_C/TURBO_C:
void bonjour (int x , int y)
{...
...}



Probablement une question de norme, la deuxième écriture étant une
modernisation de la première il me semble. La première est refusée par les
autres compilos ? Peut-être trop archaïque pour eux, mais ils ont
peut-être alors une option de compilation pour l'accepter ?

Et en début de code, vous devez déclarer chaque fonctions avec :
/* */
/* Function prototypes */
/* */
void bonjour (int x , int y);



Bah, c'est du C, quoi !

Attention toutefois à la structure du code...
Il est parfois difficile de baliser les fonctions comporant des
"{...{...}...}" dans tout les sens.
Dans ce cas, vous pouvez vous aider de l'éditeur Dev-Cpp pour afficher les
routines et les fonctions du programme.



Idem. Il faut surtout ne pas tout mettre dans un seul fichier ! Il faut
créer ses propres headers, répartir les routines dans différents fichiers
de manière logique, etc.

Le C est un langage très déroutant pour les débutants...
En effet, vue le mode linéaire de compilation, un simple oubli de "}"(pour
cloturer un fonction), peut entrainer un centaines d'erreurs en cascade !
Donc, il faut une certaines rigueur (quitte à ajouter des espaces pour
visualiser les "paragraphes")



« Quitte à » ? C'est carrément obligatoire (ça s'appelle l'indentation) !

et vérifier à deux fois la syntaxe... car les
minuscules et les majuscules (la case) ne sont pas lue de la même façon.



Bah, c'est du C, quoi !

Dans ce brouillard d'erreurs, on a vite fait de paniquer... le comptage des
parenthèses prend la tête, et les caprices du compilateur sont décourageant.



Quels caprices ?

Ce ne sont pas des critiques, mais juste pour dire que certaines
contraintes sont inhérentes au C.

--
LL
Avatar
GzavSnap
Salut Lucas,

|Bah, c'est du C, quoi !
C'est ce que je disais... : "Cool mec... c'est du C ! "
;-)