mirror of
https://github.com/curioustorvald/tsvm.git
synced 2026-03-07 19:51:51 +09:00
83 lines
2.3 KiB
TeX
83 lines
2.3 KiB
TeX
\chapter{Introduction}
|
|
|
|
\thedos\ is a Disk Operating System (usually) bundled with the distribution of the \thismachine.
|
|
|
|
All \thedos-related features requires the DOS to be fully loaded.
|
|
|
|
|
|
|
|
|
|
\chapter{Bootstrapping}
|
|
|
|
\index{boot process}\thedos\ goes through follwing progress to deliver the \code{A:/} prompt:
|
|
|
|
\section{Probing Bootable Devices}
|
|
BIOS
|
|
|
|
\section{The Bootloader}
|
|
LOADBOOT
|
|
|
|
Then the Bootsector will try to read and execute \code{A:/tvdos/TVDOS.SYS}
|
|
|
|
\section{TVDOS.SYS}
|
|
\thedos.SYS will load system libraries and variables and then will try to run the boot script by executing \code{A:\\AUTOEXEC.BAT}
|
|
|
|
\section{AUTOEXEC.BAT}
|
|
|
|
AUTOEXEC can setup user-specific variables (e.g. keyboard layout) and launch the command shell of your choice, \code{COMMAND} is the most common shell.
|
|
|
|
Variables can be set or changed using \textbf{SET} commands.
|
|
|
|
|
|
|
|
\chapter{DOS Commands}
|
|
|
|
|
|
\chapter{DOS Libraries}
|
|
|
|
\section{Filesystem}
|
|
|
|
\index{filesystem (DOS)}Each port is assigned to different drive letters, and the device currently booted on is always drive \textbf{A}.
|
|
|
|
\section{The Filesystem Library}
|
|
|
|
\dosnamespaceis{Filesystem}{filesystem}
|
|
|
|
\begin{outline}
|
|
\1\textbf{open}(driveLetter: String, path: String, operationMode: String)
|
|
\\Opens a file on the specified drive.
|
|
\2Operation Mode: \textbf{R} for read, \textbf{W} for overwrite, \textbf{A} for append
|
|
\1\textbf{readAll}(driveLetter: String)
|
|
\\Reads entire content of the file and return it as a string.
|
|
\1\textbf{write}(driveLetter: String, bytes: String)
|
|
\\Writes bytes onto the file opened for specified drive.
|
|
\1\textbf{isDirectory}(driveLetter: String)
|
|
\\Returns true if the file opened for the drive is a directory.
|
|
\1\textbf{mkDir}(driveLetter: String)
|
|
\\Creates a directory of opened path for the drive. Usage:
|
|
\\\code{filesystem.open("A", "path/to/nonexisting/directory", "W"); filesystem.mkDir("A")}
|
|
\1\textbf{touch}(driveLetter: String)
|
|
\\Updates a last-modified date of the opened file. If file does not exist, creates one.
|
|
\1\textbf{mkFile}(driveLetter: String)
|
|
\\Creates a file of opened path for the drive. Usage:
|
|
\\\code{filesystem.open("A", "path/to/nonexisting/file", "W"); filesystem.mkFile("A")}
|
|
\end{outline}
|
|
|
|
|
|
|
|
\section{The Input Library}
|
|
|
|
\dosnamespaceis{Input}{input}
|
|
|
|
\begin{outline}
|
|
\end{outline}
|
|
|
|
|
|
|
|
\section{The GL}
|
|
|
|
\dosnamespaceis{Graphics}{gl}
|
|
|
|
\begin{outline}
|
|
\end{outline}
|