diff --git a/chap/Fortran.tex b/chap/Fortran.tex index 914d564..a9fb6f0 100644 --- a/chap/Fortran.tex +++ b/chap/Fortran.tex @@ -41,18 +41,42 @@ $ gfortran -Wall hello.f90 -o hello && ./hello $ \end{verbatim} +% -------------------------------------------------------- +\section{Args \& Env} + +Un fort beau programme, mais il est un peu fermé au monde extérieur. +Quand on lance un programme, il peut recevoir des instructions +par (mais pas que) deux canaux : les arguments de la ligne de commande +et les variables d'environnement. + +\begin{verbatim} +program rum_me + implicit none + integer :: nbarg, foo + character(len=32) :: arg + + nbarg = IARGC() + if (nbarg .GT. 0) then + do foo=1, nbarg + call GETARG(foo, arg) + print *, foo," ", arg + enddo + endif +end +\end{verbatim} + % -------------------------------------------------------- \subsection{Tableaux} -Rank, Size, toussa. +Rank, Size, \textsc{allocatable}, toussa\dots % -------------------------------------------------------- \subsection{Modules} Une notion essentielle, à mon avis, pour écrire des programmes -au-delà de 100 lignes. Oui, j'avoue, j'ai bien changé depuis +au-delà de 104 lignes. Oui, j'avoue, j'ai bien changé depuis l'époque où je confectionnait des procédures \textsl{monoblc} de 1200 lignes, avec une bonne centaine de \texttt{GOTO} dedans. @@ -61,6 +85,6 @@ de 1200 lignes, avec une bonne centaine de \texttt{GOTO} dedans. \subsection{Images ?} -Plplot, pgplot, g2 ? +Plplot semble être un bon choix pour commencer. % ======================================== diff --git a/chap/IPC.tex b/chap/IPC.tex index 8b85021..d0b1b0e 100644 --- a/chap/IPC.tex +++ b/chap/IPC.tex @@ -9,6 +9,9 @@ par les grands classiques. % ================================================================ +% https://lwn.net/Articles/414618/ +% https://lwn.net/ml/linux-kernel/20220103181956.983342-1-walt@drummond.us/ + \section{Signal} \index{signal} nous allonc commencer par le plus simple mécanisme d'IPC~: diff --git a/chap/dosbox.tex b/chap/dosbox.tex index e75f185..1fd58b7 100644 --- a/chap/dosbox.tex +++ b/chap/dosbox.tex @@ -2,6 +2,11 @@ \chapter{Dosbox} \index{dosbox}\label{chap:dosbox} + +% +% https://susam.net/blog/good-quality-dosbox-video-capture.html +% + Dosbox est un émulateur de machine MS-DOS avec le son et le graphique. Il ne nécessite pas de système d'exploitation. @@ -23,12 +28,53 @@ keyb fr \end{verbatim} % ---------------------------------------------------------- + +\section{In an Out} + +\textbf{Q:} J'ai téléchargé un warez de Qbasic pour jouer avec, +le l'archive 7z ne contient qu'un fichier \texttt{.img}. +Que puis-je faire pour jouer enfin à snake ? + +\textbf{Q:} Il y a plusieurs réponses possibles. +La plus évidente est de passer par le système hote pour +lire le contenu de cette image : + +\begin{verbatim} +tth@fubar:~/DosBox/QBasic-1.1 $ su - +Password: +root@fubar:~# cd ~tth/DosBox/QBasic-1.1 +-bash: cd: too many arguments +root@fubar:~# cd ~tth/DosBox/QBasic-1.1 / +root@fubar:/home/tth/DosBox/QBasic-1.1 # ls +disk01.img winworldpc.com.txt +root@fubar:/home/tth/DosBox/QBasic-1.1 # mount -o loop,ro disk01.img /mnt +root@fubar:/home/tth/DosBox/QBasic-1.1 # ls /mnt +QBASIC.EXE QBASIC.HLP +\end{verbatim} + +Ceci dit, il y a encore plus simple : « mounter » l'image disque afin +qu'elle soit directememt utilisable depuis le prompt Dosbox. +Consultons vite la doc\footnote{/usr/share/doc/dosbox/README.gz}, +juste pour constater que c'est un peu technique. + +\begin{verbatim} + IMGMOUNT DRIVE [imagefile] -t [image_type] -fs [image_format] + -size [sectorsbytesize, sectorsperhead, heads, cylinders] + IMGMOUNT DRIVE [imagefile1 imagefile2 .. imagefileN] -t cdrom -fs iso +\end{verbatim} + +% ---------------------------------------------------------- + + \section{Popcorn} \index{Popcorn} \textbf{Popcorn} est un jeu de cassebrique écrit dans les années 80 pour tirer la quintessence des cartes graphiques CGA\index{CGA}. -Écrit, sans le moindre doute, au « ras du métal ». +Écrit, sans le moindre doute, au « ras du métal ». Une des +merveilles de l'ancien temps. + + % ---------------------------------------------------------- diff --git a/chap/hardware.tex b/chap/hardware.tex index fd60f50..7ef816b 100644 --- a/chap/hardware.tex +++ b/chap/hardware.tex @@ -75,6 +75,14 @@ l'impression d'un MSX\index{MSX} vers Cups\index{cups} ? Les possibilités sont infinies. C'est votre imagination qui est la limite\footnote{Comme à peu près tout dans la vie.} +% ----------------------------------------------------------- +\section{Ports //} \label{portparallele} +\index{port //} + +% http://people.redhat.com/twaugh/parport/html/x623.html + +périphérique \texttt{/dev/parport} + % ----------------------------------------------------------- \section{Disques durs} diff --git a/chap/print.tex b/chap/print.tex index a4151fd..61f76b3 100644 --- a/chap/print.tex +++ b/chap/print.tex @@ -4,15 +4,14 @@ L'impression sour Linux semble avoir plusieurs personnalités. La chaine logicielle mise en œuvre est parfois étonnament complexe, et ls système par defaut, \texttt{CUPS}, se contrôle par une interface Web. +Les aspects matériels sont vus dans le chapitré adéquat, +en page \pageref{portparallele}. \section{CUPS} \index{CUPS} -\section{Coté matériel} - - \section{Pretty printers}. diff --git a/chap/son.tex b/chap/son.tex index 366de08..7abfb76 100644 --- a/chap/son.tex +++ b/chap/son.tex @@ -152,6 +152,13 @@ Elle supporte une grande variété de formats. \lstinputlisting[language=C]{code/ao_example.c} +La configuration se fait par deux fichiers : +\texttt{/etc/libao.conf} surchargeable par +\texttt{\$HOME/.libao.conf}, et scématiquement, nous pouvons +voir qu'elle est à deux niveaux. + +https://www.xiph.org/ao/doc/drivers.html + %------------------------------------------------------------------ \section{Ladspa} diff --git a/chap/video.tex b/chap/video.tex index 0d9d151..ec5fa72 100644 --- a/chap/video.tex +++ b/chap/video.tex @@ -6,6 +6,8 @@ les multiples \textsl{codec} et les multiples \textsl{containers}, on est rapidement perdu. Voici donc quelques recettes de cuisine à appliquer avec modération (et respect des gestes barrières). +% https://unixsheikh.com/tutorials/remuxing-iso-dvd-or-bluray-using-cat-and-ffmpeg-on-linux.html + % -------------------------------------------------------------------- \section{mplayer}