diff --git a/chap/Basic.tex b/chap/Basic.tex new file mode 100644 index 0000000..0b49b4c --- /dev/null +++ b/chap/Basic.tex @@ -0,0 +1,65 @@ +% ---------------------------------------------------------- +\chapter{Basic} +\index{dosbox}\label{chap:Basic} + +% ------------------------------------------- +\section{BASIC} \index{BASIC} + +C'est probablement un des premiers langages interactifs utilisable par le +peuple et les gens. Déja, à ce titre, dénonce que ce langage +demande un peu de curiosité, il a traversé soixante ans +d'informatique, et il existe enore. +Mais pour moi, le véritable intérèt +est dans la multitude et la diversité des implémentations. +Des minis catatoniques des années 60 aux micros-ordinateurs 8 bits, +des dizaines de versions souvent incompatibles ont vues le jour. +Un nom ? « Locomotive », ça ira ? + +Dans un premier temps, je vais les lister sommairement, et +ensuite j'aurais une idée sur lesquels seront les plus funs +à explorer. + + +% ------------------------------------------- +\section{Bywater} \index{bywater} + +\begin{verbatim} + Bywater BASIC Interpreter/Shell, version 2.10 + --------------------------------------------- + Copyright (c) 1993, Ted A. Campbell + for bwBASIC version 2.10, 11 October 1993 +\end{verbatim} + +Le mode interactif me semble un peu rustre, mais utilisable à l'ancienne. +Les messages d'erreur sont du genre \textsc{bdos error on a}. +Je n'ai pas réussi à faire une sauvegarde du programme\footnote{J'ai +renoncé au bout de 30 secondes}, ce qui limite son \textsl{utilisability}. + +Heureusement, on peut utiliser son éditeur de texte favori pour écrire +le code source, et le lancer en mode batch. Voici un exemple rudimentaire +mais canonique~: + +\lstinputlisting{code/Basic/bywater-1.bas} + +Première conclusion : affaire à suivre. + +% ------------------------------------------- +\section{Yabasic} \index{yabasic} + +Première innovation, les numéros de ligne ne sont plus obligatoires. + +\lstinputlisting{code/Basic/yabasic-1.bas} + +Et on peut faire des images qui clignotent :) + +\lstinputlisting{code/Basic/yabasic-2.bas} + +% ------------------------------------------- +\section{Et ailleurs ?} + +L'interpréteur \texttt{Qbasic} de Microsoft fonctionne très bien +dans Dosbox~: à lire en page \pageref{Qbasic}. Son prédécesseur, +\texttt{GWBASIC} marche très bien aussi. + +% ------------------------------------------- +% ------------------------------------------- diff --git a/chap/dosbox.tex b/chap/dosbox.tex index 1fd58b7..aebaff0 100644 --- a/chap/dosbox.tex +++ b/chap/dosbox.tex @@ -31,7 +31,9 @@ keyb fr \section{In an Out} -\textbf{Q:} J'ai téléchargé un warez de Qbasic pour jouer avec, +\textbf{Q:} J'ai téléchargé un warez de Qbasic\footnote{% + cf. page \pageref{chap:Basic}} +pour jouer avec, le l'archive 7z ne contient qu'un fichier \texttt{.img}. Que puis-je faire pour jouer enfin à snake ? @@ -75,6 +77,9 @@ juste pour constater que c'est un peu technique. merveilles de l'ancien temps. +% ---------------------------------------------------------- + +\section{Qbasic} \index{Qbasic} \label{Qbasic} % ---------------------------------------------------------- diff --git a/code/Basic/README.md b/code/Basic/README.md new file mode 100644 index 0000000..e69de29 diff --git a/code/Basic/bywater-1.bas b/code/Basic/bywater-1.bas new file mode 100644 index 0000000..1a9c2b3 --- /dev/null +++ b/code/Basic/bywater-1.bas @@ -0,0 +1,4 @@ + 10 CLEAR + 20 FOR I=1 TO 10 + 30 PRINT I, I*I + 40 NEXT I diff --git a/code/Basic/yabasic-1.bas b/code/Basic/yabasic-1.bas new file mode 100644 index 0000000..60093b4 --- /dev/null +++ b/code/Basic/yabasic-1.bas @@ -0,0 +1,3 @@ + for i=1 to 10 + print i, i*i + next diff --git a/code/Basic/yabasic-2.bas b/code/Basic/yabasic-2.bas new file mode 100644 index 0000000..6ed5a7e --- /dev/null +++ b/code/Basic/yabasic-2.bas @@ -0,0 +1,5 @@ + open window 511,511 + for x=10 to 495 step 5:for y=10 to 495 step 5 + colour x/2,y/2,0 + fill rectangle x,y,x+5,y+5 + next y:next x diff --git a/tetatricks.tex b/tetatricks.tex index 2621dd9..2ccdab1 100644 --- a/tetatricks.tex +++ b/tetatricks.tex @@ -26,7 +26,7 @@ %------ reglages des 'listings' \lstset{frame=single} % dessin d'un cadre autour du listing \lstset{basicstyle=\ttfamily\small} -\lstset{aboveskip=1.4em,belowskip=0.2em} +\lstset{aboveskip=1.2em,belowskip=1.2em} \setcounter{tocdepth}{1} \pagestyle{plain} @@ -130,6 +130,7 @@ en ligne sur le site du Tetalab. Your mileage may vary\dots \input{chap/Fortran} \input{chap/scripting} \input{chap/Arduino} +\input{chap/Basic} % \input{chap/GMP} \input{chap/Python}