tth 4 months ago
parent
commit
2f27b7f29e
  1. 30
      chap/Fortran.tex
  2. 3
      chap/IPC.tex
  3. 48
      chap/dosbox.tex
  4. 8
      chap/hardware.tex
  5. 5
      chap/print.tex
  6. 7
      chap/son.tex
  7. 2
      chap/video.tex

30
chap/Fortran.tex

@ -41,18 +41,42 @@ $ gfortran -Wall hello.f90 -o hello && ./hello @@ -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. @@ -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.
% ========================================

3
chap/IPC.tex

@ -9,6 +9,9 @@ par les grands classiques. @@ -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~:

48
chap/dosbox.tex

@ -2,6 +2,11 @@ @@ -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 @@ -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.
% ----------------------------------------------------------

8
chap/hardware.tex

@ -75,6 +75,14 @@ l'impression d'un MSX\index{MSX} vers Cups\index{cups} ? @@ -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}

5
chap/print.tex

@ -4,15 +4,14 @@ L'impression sour Linux semble avoir plusieurs personnalités. @@ -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}.

7
chap/son.tex

@ -152,6 +152,13 @@ Elle supporte une grande variété de formats. @@ -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}

2
chap/video.tex

@ -6,6 +6,8 @@ les multiples \textsl{codec} et les multiples \textsl{containers}, @@ -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}

Loading…
Cancel
Save