docs: справочники по железу Sprinter + правка gfx_scroll_h
- docs/new/ — сводные справочники (архитектура, BIOS, DSS, память, графика, акселератор, IRQ, порты, ввод, звук, известные баги); - docs/Original/ — первоисточники, из которых они собраны (BIOS, Estex DSS, мануалы, описание акселератора), + Форум.doc/.docx в reference; - libbgi/common/gfx_scroll_h.c — обход бага скролла при ширине >256 (правка автора: шаг банды 255 и продвижение указателей на cw; старый вариант с 256 оставлен закомментированным с TODO); - удалён applications/PoP/roomtest/hang_variants.png — рабочая раскладка из разбора позы виса, в репозитории ей не место. Большие архивы (docs/extra ~568 МБ, docs/sources с вложенными git-репо ~68 МБ) в коммит НЕ включены — см. обсуждение. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Binary file not shown.
@@ -0,0 +1,155 @@
|
||||
Estex: Disk SubSystem (DSS) Programming Guide
|
||||
|
||||
Table of Contents
|
||||
1. Introducing
|
||||
2. Identification of system functions
|
||||
3. Disk devices functions
|
||||
|
||||
|
||||
1. Introducing
|
||||
|
||||
This document contains the list of functions and concepts of
|
||||
interaction with a disk subsystem.
|
||||
DSS is a collection of very useful functions that reside in
|
||||
DSS itself, ready for use by any your programs. These functions
|
||||
are stored in library SYSTEM.DOS and allow management of files,
|
||||
memory allocation, loading and execution of the programs.
|
||||
|
||||
File specification
|
||||
|
||||
The file specification is a string, containing a names of disk,
|
||||
directories separated by a symbol "\" and name of file. The names
|
||||
of disk drive and directories can be discard.
|
||||
|
||||
for example:
|
||||
C:\TEXT\DOC\text.doc
|
||||
A:file.txt
|
||||
\TEXT\info.txt
|
||||
|
||||
The DSS used chars with colon suffix as names of disk devices
|
||||
(A:, B:, C: etc.) The name of disk can be written down before
|
||||
filename for specified disk there it placed.
|
||||
For example: command
|
||||
DIR C:DATFILE
|
||||
searches for DATFILE in the current directory of disk C:.
|
||||
When disk name not specified DSS used current disk. At start
|
||||
DSS, the current disk is a disk whence was loaded DSS.
|
||||
The filenames consist of two parts. The first part contain 8
|
||||
chars of file name. The second part is not necessary and contain
|
||||
3 chars of file type (also known as extentsion). At the writing
|
||||
of filename, both parts are separated by char point.
|
||||
For example: the names "NAME" and "NAME." is specified same file.
|
||||
In the name don't allows symbols with codes less 32 and chars
|
||||
. " / \ [ ] : | < > + = ; ,
|
||||
As the subdirectories files too, their names are formed by
|
||||
same way. The name of root directory always "\". And each
|
||||
subdirectories contain two items with names "." and "..". The
|
||||
name "." specified a current directory and name ".." specified
|
||||
name of parent(uplevel) directory.
|
||||
Some console commands and DSS functions allow to use global
|
||||
symbols ? and * which can be used for filename templates.
|
||||
The symbol ? means that any one char of filename. The
|
||||
symbol * means that it char can be replaced by any symbols.
|
||||
For example:
|
||||
*.txt - means, all files with type "txt"
|
||||
a??.* - means, files which contain three or less symbols and
|
||||
first symbol is "a"
|
||||
dc*.exe - means, files with type "exe" and began "dc"
|
||||
|
||||
File attributes
|
||||
|
||||
The each bit of byte attributes specified various attribute.
|
||||
And it can be changed by DSS function.
|
||||
|
||||
bit 0 - Read only
|
||||
bit 1 - Hidden
|
||||
bit 2 - System
|
||||
bit 3 - Volume label
|
||||
bit 4 - Directory
|
||||
bit 5 - Archive
|
||||
bit 6 - Reserved
|
||||
bit 7 - Reserved
|
||||
|
||||
Attribute "read only". When value is 1, file can be read,
|
||||
but can't be written or deleted.
|
||||
Attribute "hidden". When value is 1, DSS can't manipulate
|
||||
with this file.
|
||||
Attribute "system". Specified system file.
|
||||
Attribute "volume label". In old version of MSDOS used for
|
||||
specified volume laben, now it can be used for long filenames.
|
||||
And must be 0 for compatibles.
|
||||
Attribute "directory". When value is 1, means that this
|
||||
file is directory.
|
||||
Attribute "archive". This bite sets in 1 when DSS writing
|
||||
in this file. It can be used in backup utilities for detect
|
||||
changed files.
|
||||
|
||||
File handle
|
||||
When any file are opened, DSS build File Control Block in
|
||||
DSS working areas.
|
||||
The Handle (and assigned file) identified by number which
|
||||
returned DSS to program after file opening and used it in all
|
||||
further DSS calls. In other words, when file is opening, the
|
||||
program informs DSS his name and has taken back file handle.
|
||||
Which used in further file operations.
|
||||
All necessary information for working with file are placed
|
||||
in DSS working areas.
|
||||
|
||||
|
||||
2. Identification of system functions
|
||||
|
||||
00h (00) VERSION (Version of DSS)
|
||||
input:
|
||||
C - 00h
|
||||
output:
|
||||
D - version number
|
||||
E - modification
|
||||
The function return version number of DSS.
|
||||
|
||||
|
||||
3. Disk devices functions
|
||||
|
||||
01h (01) CHDISK (Change current disk)
|
||||
input:
|
||||
A - disk number (0-A,1-B...)
|
||||
C - 01h
|
||||
output:
|
||||
A - error code, if CF=1
|
||||
A - number of disks, if CF=0
|
||||
The function changes current disk device.
|
||||
|
||||
02h (02) CURDISK (Current disk number)
|
||||
input:
|
||||
C - 02h
|
||||
output:
|
||||
A - current disk number (0-A,1-B...)
|
||||
The function returns number of current disk device.
|
||||
|
||||
03h (03) DSKINFO (Disk information)
|
||||
input:
|
||||
A - disk number (0-A,1-B...0FFh-current)
|
||||
C - 03h
|
||||
output:
|
||||
A - error code, if CF=1
|
||||
A - sectors per cluster, if CF=0
|
||||
HL - clusters per disk
|
||||
DE - free clusters
|
||||
BC - bytes per sector
|
||||
The function returns information about disk device
|
||||
(capacity and free space).
|
||||
for example:
|
||||
LD C,03h ;Function DSKINFO
|
||||
LD A,0FFh ;Information about current disk
|
||||
RST 10h ;Execution of function
|
||||
LD A,D ;There is a free
|
||||
OR E ;space?
|
||||
JR Z,NO_SPACE ;No, the disk is completely filled
|
||||
|
||||
09h (09) BOOTDSK (Number of boot disk)
|
||||
input:
|
||||
C - 09h
|
||||
B = 0
|
||||
output:
|
||||
A - number of boot disk (0-A,1-B...)
|
||||
The function returns number of boot disk device whence was loaded DSS.
|
||||
|
||||
@@ -0,0 +1,126 @@
|
||||
Estex: Дисковая подсистема (DSS) – Обзор
|
||||
|
||||
1. Введение
|
||||
2. Загрузка подсистемы
|
||||
3. Системная консоль
|
||||
4. Файловая система
|
||||
|
||||
1. Введение
|
||||
Estex - операционная система компьютера Sprinter, включающая
|
||||
в себя различные модули. Данный документ описывает модуль дисковой
|
||||
подсистемы.
|
||||
В DSS используется та же самая файловая система, как и в
|
||||
MS-DOS FAT16 и полностью с ней совместима.
|
||||
|
||||
2. Загрузка подсистемы
|
||||
После включения питания или сброса компьютера, BIOS считывает
|
||||
первичный загрузчик с 1-го сектора загрузочного диска.
|
||||
Если загрузка происходит с HDD или дискеты, то сначала загрузочный
|
||||
сектор считывается в память и ему передается управление по загрузке
|
||||
модуля дисковой подсистемы SYSTEM.DOS.
|
||||
Затем выполняются следующие действия:
|
||||
• инициализация дисковой подсистемы и вывод сообщения "Starting DOS..."
|
||||
• загрузка системной консоли SYSTEM.EXE
|
||||
• выполнение команд указанных в файле SYSTEM.BAT
|
||||
Обычно файл SYSTEM.BAT содержит путь к программе файловой навигации
|
||||
пользователя или другому часто используемому приложения.
|
||||
Например "c:\fn\fn.exe".
|
||||
|
||||
Если во время загрузки вы хотите пропустить выполнение SYSTEM.BAT.
|
||||
То вам следует нажать клавишу "SHIFT", как только появиться
|
||||
сообщение "Starting DOS..." и удерживать пока не появится приглашение
|
||||
консоли ("C:\>").
|
||||
|
||||
3. Системная консоль
|
||||
В DSS многие задачи могут быть выполнены через интерфейс командной
|
||||
строки называемой системной консолью. Основная задача консоли ввод
|
||||
команд и их исполнение. Также она имеет ряд функций, которые выполняют
|
||||
такие действия как управление файлами, перемещение по файловой структуре
|
||||
каталогов, редактирование командной строки и переменных среды.
|
||||
Системная консоль позволяет пользователю взаимодействовать с
|
||||
операционной системой. Для DOS системная консоль это SYSTEM.EXE. Если вы
|
||||
видите на экране приглашение командной строки (A:\> или C:\>), то это
|
||||
означает что SYSTEM.EXE загружен и активизирован. Когда вы вводите
|
||||
командную строку, командный процессор интерпретирует команду и выполняет
|
||||
необходимые действия.
|
||||
На сегодняшний день в консоли доступны следующие команды:
|
||||
CD Displays the name of or changes the current directory.
|
||||
CHDIR Displays the name of or changes the current directory.
|
||||
CLS Clears the screen.
|
||||
DATE Displays or sets the date.
|
||||
DEL Deletes one or more files.
|
||||
DIR Displays a list of files and subdirectories in a directory.
|
||||
ECHO Displays messages, or turns command echoing on or off.
|
||||
ERASE Deletes one or more files.
|
||||
EXIT Quits the SYSTEM.EXE program (command interpreter).
|
||||
HELP Provides Help information for console commands.
|
||||
MD Creates a directory.
|
||||
MKDIR Creates a directory.
|
||||
PAUSE Suspends processing of a batch file and displays a message.
|
||||
RD Removes a directory.
|
||||
REM Records comments (remarks) in batch files or SYSTEM.BAT.
|
||||
REN Renames a file or files.
|
||||
RENAME Renames a file or files.
|
||||
RMDIR Removes a directory.
|
||||
TIME Displays or sets the system time.
|
||||
VER Displays the System version.
|
||||
|
||||
4. Файловая система
|
||||
Сейчас, в качестве файловой системы Estex использует FAT12 и FAT16.
|
||||
С помощью файловой системы FAT (File Allocation Table) организуются
|
||||
данные на винчестере и дискетах.
|
||||
Для указания спецификации файла используется следующая форма:
|
||||
|
||||
[drive:][directory\]filename[.ext]
|
||||
|
||||
Файловая спецификация - это строка символов содержащая наименования
|
||||
диска, директорий отделенных символом "\" и имя файла. Имена диска и
|
||||
директории могут быть опущены, если требуемый файл расположен в текущей
|
||||
директории.
|
||||
|
||||
Например:
|
||||
|
||||
C:\TEXT\DOC\text.doc
|
||||
A:file.txt
|
||||
\TEXT\info.txt
|
||||
|
||||
В DSS в качестве имен дисковых устройств используются буквы с
|
||||
последующим символом двоеточия (A:, B:, C: и.т.д.) Имя диска может быть
|
||||
набрано перед именем файла для указания диска, на котором он расположен.
|
||||
|
||||
Например:
|
||||
команда
|
||||
DIR C:TESTFILE
|
||||
ищет TESTFILE в текущей директории диска C:.
|
||||
Если имя диска не указанно используется текущий диск. После запуска DSS,
|
||||
текущим диском является диск, с которого была загружена DSS.
|
||||
|
||||
Имена файлов состоят из двух частей. Первая часть может содержать
|
||||
8 букв, цифр или следующие специальные символы:
|
||||
$ % ' – _ @ { } ~ ` ! # ( ).
|
||||
Вторая часть не является обязательной и содержит любую комбинацию из трех
|
||||
букв, цифр или специальных символов с предшествующей точкой (.).
|
||||
Например имена "NAME" и "NAME." указывают на одинаковый файл.
|
||||
В имени файла не допускаются символы с кодом меньше 32, а также символы
|
||||
. " / \ [ ] : | < > + = ; ,
|
||||
Поскольку директории также являются файлами их имена образуются по
|
||||
тем же правилам.
|
||||
Имя корневой директории всегда "\". И каждая поддиректория содержит
|
||||
два элемента с именами "." and "..". Имя "." указывает на текущую
|
||||
директорию, а имя ".." указывает на родительную (на уровень выше)
|
||||
директорию.
|
||||
Некоторые команды и функции DSS позволяют использовать глобальные
|
||||
символы * и ? которые могут использоваться для задания шаблона имени
|
||||
файла.
|
||||
Символ ? означает любой один символ в имени файла.
|
||||
Символ * означает, что он может быть заменен на любое количество
|
||||
любых символов.
|
||||
|
||||
for example:
|
||||
*.txt - означает, все файлы с типом "txt"
|
||||
a??.* - означает, файлы содержащие три и менее символов и первый символ "a"
|
||||
dc*.exe - означает, файлы с типом "exe" и начинающиеся на "dc"
|
||||
|
||||
В именах файлов не делается различий между заглавными и прописными
|
||||
символами.
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user