Инструменты пользователя

Инструменты сайта


msx:basic_programming_guide:start

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

msx:basic_programming_guide:start [2020-03-22 11:17]
msx:basic_programming_guide:start [2022-09-09 23:21] (текущий)
Строка 1: Строка 1:
-====== 🕮 Пособие по программированию на MSX BASIC ====== +~~HIDEPAGE:search;​sitemap~~ ​                                                                                                             ​ 
- +~~REDIRECT>msx:basic_dialogue_programming_language:~~
-К сожалению оригинальное название книги не известно,​ её рабочее название **Пособие по программированию на MSX BASIC** (MSX BASIC Programming Guide). +
- +
-Книга написана в КГПИ (Куйбышевский государственный педагогический институт),​ примерно в 1988–1990 годах, файлы книги были подготовлены в редакторе [[msx:tor|TOR]]. +
- +
-В данный момент текст книги находится в процессе [[converting|преобразования]]. +
- +
-Примеры:​ +
-  * Для запуска примеров программ в [[webmsx:​webmsx|WebMSX]] используйте ссылку на пример,​ перед которой находится значок {{:​webmsx:​webmsx.png|Запуск примера в WebMSX}}, +
-  * Для работы с примерами можно использовать [[openmsx:​openmsx]],​ +
-  * [[examples|Список всех примеров]]. +
- +
-====== Содержание ====== +
- +
-<WRAP group  99%> +
-<WRAP half column> \\ </​WRAP>​ +
-<WRAP half column><​WRAP justify>​ +
-…И указывают тысячами пальцев +
-тысячи дорожек для скитальцев. +
-<WRAP rightalign>​ +
-—//​Г.Лорка//​ +
-</​WRAP></​WRAP>​ +
-</​WRAP></​WRAP>​ +
- +
-  * [[00#​Предисловие]] +
-  * [[00#​Введение]] +
-  * **[[01|Глава I. Основные объекты MSX BASIC]]** +
-    * [[01#I.1. Алфавит]] +
-    * [[01#I.2. Константы. Одинарная и двойная точность]] +
-    * [[01#I.3. Переменные]] +
-    * [[01#I.4. Понятие оператора. Оператор DEF]] +
-    * [[01#I.5. Массивы переменных. Оператор ERASE]] +
-    * [[01#I.6. Имена, значения и типы]] +
-    * [[01#I.7. Операции]] +
-      * [[01#I.7.1. Арифметические операции]] +
-      * [[01#I.7.2. Операции отношения. Логические операции]] +
-      * [[01#I.7.3. Строковые операции]] +
-      * [[01#I.7.4. Операции–функции]] +
-      * [[01#I.7.5. Функция RND. Псевдопеременная TIME]] +
-    * [[01#I.8. Выражения]] +
-      * [[01#I.8.1. Арифметические и строковые выражения]] +
-      * [[01#I.8.2. Логические выражения]] +
-    * [[01#I.9. Дополнение]] +
-    * //​[[01#​Диск с примерами]]//​ +
-  * **[[02|Глава II. Программирование линейных алгоритмов]]** +
-    * [[02#II.1. Режимы работы]] +
-    * [[02#II.2. Интерпретаторы и компиляторы]] +
-    * [[02#II.3. Оформление и редактирование программ]] +
-      * [[02#​II.3.1. Команда AUTO. Команда RENUM]] +
-      * [[02#​II.3.2. Команда DELETE. Команда [L]LIST]] +
-    * [[02#II.4 Линейные программы]] +
-      * [[02#​II.4.1. Оператор присваивания LET]] +
-      * [[02#​II.4.2. Оператор SWAP]] +
-      * [[02#​II.4.3. Оператор комментария REM ]] +
-      * [[02#​II.4.4. Оператор вывода данных PRINT в простейшем случае]] +
-      * [[02#​II.4.5. Операторы ввода данных DATA и READ. Оператор RESTORE]] +
-      * [[02#​II.4.6. Оператор вывода PRINT в общем случае]] +
-      * [[02#​II.4.7. Оператор ввода данных INPUT]] +
-      * [[02#​II.4.8. Оператор LINEINPUT]] +
-      * [[02#​II.4.9. Операторы END и STOP. Команда CONT]] +
-    * //​[[02#​Диск с примерами]]//​ +
-  * **[[03|Глава III. Программирование разветвляющихся и циклических алгоритмов]]** +
-    * [[03#III.1. Оператор безусловной передачи управления GOTO]] +
-    * [[03#III.2. Оператор условной передачи управления IF]] +
-    * [[03#III.3. Оператор ON GOTO]] +
-    * [[03#III.4. Программирование циклов]] +
-    * [[03#III.5. Примеры]] +
-    * //​[[03#​Диск с примерами]]//​ +
-  * **[[04|Глава IV. Функции и подпрограммы]]** +
-    * [[04#IV.1 Встроенные функции преобразования]] +
-      * [[04#​IV.1.1. LEN–функция]] +
-      * [[04#​IV.1.2. INSTR–функция]] +
-      * [[04#​IV.1.3. VAL–функция]] +
-      * [[04#​IV.1.4. STR$–функция]] +
-      * [[04#​IV.1.5. ASC–функция]] +
-      * [[04#​IV.1.6. CHR$–функция]] +
-      * [[04#​IV.1.7. BIN$–функция]] +
-      * [[04#​IV.1.8. OCT$–функция]] +
-      * [[04#​IV.1.9. HEX$–функция]] +
-    * [[04#IV.2. Встроенные строковые функции]] +
-      * [[04#​IV.2.1. MID$–функция]] +
-      * [[04#​IV.2.2. LEFT$–функция]] +
-      * [[04#​IV.2.3. RIGHT$–функция]] +
-      * [[04#​IV.2.4. STRING$–функция]] +
-      * [[04#​IV.2.5. SPACE$–функция]] +
-      * [[04#​IV.2.6. Примеры]] +
-    * [[04#IV.3. Функции пользователя. Оператор DEF FN]] +
-    * [[04#IV.4. Подпрограммы]] +
-      * [[04#​IV.4.1. Примеры]] +
-    * [[04#IV.5. Оператор ON GOSUB]] +
-    * [[04#IV.6. Дополнение 1 [77] ]] +
-    * [[04#IV.7. Дополнение 2 [90] ]] +
-    * //​[[04#​Диск с примерами]]//​ +
-  * **[[05|Глава V. Графические средства MSX BASIC]]** +
-    * [[05#V.1. Оператор SCREEN в простейшем случае (для компьютера MSX 1)]] +
-    * [[05#V.2. Оператор WIDTH. Операторы KEY OFF и KEY ON]] +
-    * [[05#V.3. Управление текстовым курсором]] +
-      * [[05#V.3.1. Оператор LOCATE.Функция CSRLIN. Функции POS(α) и LPOS(α)]] +
-    * [[05#V.4. Базовые графические операторы MSX BASIC]] +
-      * [[05#V.4.1. Оператор COLOR для компьютера MSX 1]] +
-      * [[05#V.4.2. Оператор COLOR для компьютера MSX 2]] +
-      * [[05#V.4.3. Оператор CLS]] +
-      * [[05#V.4.4. Оператор PSET. Оператор PRESET]] +
-      * [[05#V.4.5. Оператор LINE]] +
-      * [[05#V.4.6. Оператор CIRCLE]] +
-      * [[05#V.4.7. Функция POINT. Оператор PAINT]] +
-      * [[05#V.4.8. Вывод рисунков на принтер]] +
-    * [[05#V.5. Графический макроязык GML]] +
-    * [[05#V.6. Спрайты]]  +
-      * [[05#V.6.1. Формирование значения спрайта]]  +
-      * [[05#V.6.2. Вывод спрайта на экран]]  +
-      * [[05#V.6.3. Столкновение спрайтов]] +
-    * [[05#V.7. Оператор SCREEN в общем случае]] +
-    * [[05#V.8. Понятие файла [5]. Вывод текстовой информации на графические экраны]] +
-    * [[05#V.9. Режим SCREEN 4 (только для компьютера MSX 2)]] +
-    * [[05#V.10. Режим SCREEN 5 (только для компьютера MSX 2)]] +
-    * [[05#V.11. Режим SCREEN 6 (только для компьютера MSX 2)]] +
-    * [[05#V.12. Режим SCREEN 7 (только для компьютера MSX 2 с видеопамятью 128 Кбайт)]] +
-    * [[05#V.13. Режим SCREEN 8 (только для компьютера MSX 2 с видеопамятью 128 Кбайт)]] +
-    * [[05#V.14. Дополнение]] +
-    * //​[[05#​Диски с примерами]]//​ +
-  * **[[06#​Глава VI. Музыкальные средства MSX BASIC]]** +
-    * [[06#VI.1. Описание команд MML]] +
-    * [[06#VI.2. Оператор PLAY. Функция PLAY. Оператор BEEP]] +
-    * [[06#VI.3. Оператор SOUND]] +
-    * [[06#VI.4. Примеры музыкальных программ]] +
-    * //​[[06#​Диск с примерами]]//​ +
-  * **[[07|Глава VII. Дополнительные возможности языка MSX BASIC]]** +
-    * [[07#VII.1. Работа с клавиатурой]] +
-      * [[07#​VII.1.1. Нестандартный ввод с клавиатуры]] +
-      * [[07#​VII.1.2. Функциональные клавиши]] +
-      * [[07#​VII.1.3. Джойстик]] +
-    * [[07#VII.2. Переход к подпрограмме по событию]] +
-      * [[07#​VII.2.1. Переход по ключу]] +
-      * [[07#​VII.2.2. Переход по временному интервалу]] +
-      * [[07#​VII.2.3. Переход по нажатию клавиш "​CTRL"​+"​STOP"​]] +
-      * [[07#​VII.2.4. Переход по джойстику]] +
-      * [[07#​VII.2.5. Особенности одновременной обработки событий различных типов]] +
-    * [[07#VII.3. Инициализация в языке MSX BASIC]] +
-    * [[07#VII.4. Работа с принтером]] +
-      * [[07#​VII.4.1. Команды для управления типом печати]] +
-      * [[07#​VII.4.2. Управление вертикальной позицией печатающей головки]] +
-      * [[07#​VII.4.3. Управление горизонтальной позицией печатающей головки]] +
-      * [[07#​VII.4.4. Команды управления графикой]] +
-      * [[07#​VII.4.5. Использование макрокоманд]] +
-      * [[07#​VII.4.6. Другие полезные команды]] +
-    * //​[[07#​Диск с примерами]]//​ +
-  * **[[08|Глава VIII. Некоторые вопросы методологии отладки программ]]** +
-    * [[08#​VIII.1. Ошибки при программировании]] +
-    * [[08#​VIII.2. Некоторые классические приёмы тестирования программ]] +
-      * [[08#​VIII.2.1. Ручная проверка]] +
-      * [[08#​VIII.2.2. Ручная прокрутка. Методические указания по её проведению]] +
-      * [[08#​VIII.2.3. Метод контрольных тестов]] +
-    * [[08#​VIII.3. Методы локализации ошибок]] +
-      * [[08#​VIII.3.1. Трассировка]] +
-      * [[08#​VIII.3.2. Аварийная печать]] +
-      * [[08#​VIII.3.3. Локализация с точками останова]] +
-      * [[08#​VIII.3.4. Программная обработка ошибок]] +
-      * [[08#​VIII.3.5. Некоторые причины,​ осложняющие поиск ошибок [57]]] +
-    * [[08#​VIII.4. Принципы исправления и анализа допущенных ошибок]] +
-    * [[08#​VIII.5. Основные понятия структурного программирования]] +
-      * [[08#​VIII.5.1. Модульность программ [49]]] +
-      * [[08#​VIII.5.2. Строение программ [49]]] +
-      * [[08#​VIII.5.3. Структурное программирование]] +
-    * [[08#​VIII.6. О стиле программирования [57]]] +
-    * [[08#​VIII.7. Недостатки языка программирования BASIC [59]]] +
-    * [[08#​VIII.8. Сравнительная характеристика языков программирования]] +
-    * //​[[08#​Диск с примерами]]//​ +
-  * **[[09|Глава IX. Файловые средства MSX BASIC]]** +
-    * [[09#IX.1. Работа с файлами на дискетах]] +
-      * [[09#​IX.1.1. Форматирование дискеты]] +
-      * [[09#​IX.1.2. Имена файлов]] +
-      * [[09#​IX.1.3. Справочная информация о файлах]] +
-      * [[09#​IX.1.4. Операторы NAME, COPY и KILL]] +
-      * [[09#​IX.1.5. Операторы LOAD, SAVE, RUN и MERGE]] +
-    * [[09#IX.2. Файлы данных прямого доступа]] +
-      * [[09#​IX.2.1. Контрольные буферы файлов]] +
-      * [[09#​IX.2.2. Операторы OPEN и CLOSE]] +
-      * [[09#​IX.2.3. Оператор FIELD]] +
-      * [[09#​IX.2.4. Операторы LSET и RSET]] +
-      * [[09#​IX.2.5. Функции MKI$(), MKS$(),​MKD$(),​ CVI(), CVS(), CVD()]] +
-      * [[09#​IX.2.6. Операторы PUT и GET]] +
-    * [[09#IX.3. Файлы данных последовательного доступа]] +
-      * [[09#​IX.3.1. Оператор MAXFILES=, OPEN и CLOSE]] +
-      * [[09#​IX.3.2. Операторы PRINT#, PRINT#n, USING. Функции LOF() и LOC()]] +
-      * [[09#​IX.3.3. Операторы INPUT, LINE INPUT#n. Функции INPUT$ и EOF]] +
-      * [[09#​IX.3.4. Примеры]] +
-      * [[09#​IX.3.5. Вывод файлов данных на экран и принтер]] +
-    * [[09#IX.4. Использование RAM–диска (только для компьютеров MSX 2)]] +
-    * [[09#IX.5. Файлы на магнитной ленте]] +
-      * [[09#​IX.5.1. Работа с программными файлами]] +
-      * [[09#​IX.5.2. Работа с файлами данных]] +
-    * [[09#IX.6. Дополнение]] +
-    * //​[[09#​Диск с примерами]]//​ +
-  * **[[10|Глава X. Управление ресурсами памяти]]** +
-    * [[10#X.1. Карта памяти (для компьютеров MSX 1)]] +
-    * [[10#X.2. Функция PEEK и оператор POKE]] +
-    * [[10#X.3. Таблица программных команд (PIT)]] +
-    * [[10#X.4. Таблица переменных (VT)]] +
-      * [[10#X.4.1. Хранение простых переменных]] +
-      * [[10#X.4.2. Хранение элементов числовых массивов]] +
-    * [[10#X.5. Стек]] +
-    * [[10#X.6. Хранение строковых величин]] +
-    * [[10#X.7. Оператор CLEAR]] +
-    * [[10#X.8. Функция FRE]] +
-    * [[10#X.9. Рабочая область]] +
-      * [[10#X.9.1. Матрица клавиатуры]] +
-      * [[10#X.9.2. Динамическая клавиатура [46]]] +
-    * [[10#X.10. Порты ввода–вывода]] +
-      * [[10#​X.10.1. Программируемый параллельный интерфейс (PPI)]] +
-      * [[10#​X.10.2. Программируемый звуковой генератор (PSG)]] +
-      * [[10#​X.10.3. Другие порты. Оператор WAIT]] +
-    * //​[[10#​Диск с примерами]]//​ +
-  * **[[11|Глава XI. Работа с видеопамятью и видеопроцессором]]** +
-    * [[11#XI.1. Видеопамять]] +
-      * [[11#​XI.1.1. Псевдопеременная BASE]] +
-      * [[11#​XI.1.2. Функция VPEEK. Оператор VPOKE]] +
-      * [[11#​XI.1.3. Текстовые режимы]] +
-      * [[11#​XI.1.4. Режимы SCREEN 2 и SCREEN 4]] +
-      * [[11#​XI.1.5. Режим SCREEN 3]] +
-      * [[11#​XI.1.6. Режимы SCREEN 5, SCREEN 6, SCREEN 7 и SCREEN 8 (для компьютеров MSX 2)]] +
-      * [[11#​XI.1.7. Таблица палитр (для компьютеров MSX 2)]] +
-      * [[11#​XI.1.8. Спрайты]] +
-      * [[11#​XI.1.9. Слоты видеопамяти]] +
-      * [[11#​XI.1.10. Порты, отвечающие за работу с видеопамятью]] +
-    * [[11#XI.2. Работа с видеопроцессором]] +
-      * [[11#​XI.2.1. Регистры установки режима]] +
-      * [[11#​XI.2.2. Регистры базовых адресов]] +
-      * [[11#​XI.2.3. Регистры цветов]] +
-      * [[11#​XI.2.4. Регистры управления экраном]] +
-      * [[11#​XI.2.5. Некоторые регистры доступа]] +
-      * [[11#​XI.2.6. Доступ к видеопамяти]] +
-      * [[11#​XI.2.7. Регистры статуса]] +
-    * [[11#XI.3. Нестандартные режимы видеопроцессора]] +
-      * [[11#​XI.3.1. Режим SCREEN 4 на компьютерах MSX 1]] +
-      * [[11#​XI.3.2. Текстово–графические режимы]] +
-    * //​[[11#​Диск с примерами]]//​ +
-  * **[[12|Глава XII. Примеры решения задач повышенной трудности]]** +
-    * [[12#XII.1. Задачи]] +
-      * //​[[12#​Диск с примерами]]//​ +
-    * [[12#XII.2. Задачи для самостоятельного решения]] +
-  * **[[13|Глава XIII. Программисты шутят]]** +
-    * [[13#​XIII.1. Проза]] +
-    * [[13#​XIII.2. Поэзия]] +
-    * [[13#​XIII.3. Словари]] +
-  * **Приложение 2. Справочный материал** {{anchor:200}} +
-    * [[201|2.1. Список служебных слов]] +
-    * [[202|2.2. Внутренние коды служебных слов]] +
-    * [[203|2.3. Описание действия управляющих клавиш при работе в экранном редакторе системы MSX BASIC]] +
-    * [[204|2.4. Таблица кодов ASCII]] +
-    * [[205|2.5. Сообщения об ошибках в системе MSX BASIC]] +
-    * [[211|2.11. Комплекс упражнений для профилактики зрительного утомления [28] ]] +
-    * [[222|2.12. Комплекс физических упражнений для снятия утомления [28] ]] +
- +
-  * //​**[[bibliography|Список литературы]]**//​ +
- +
-{{anchor:missing}} +
-====== Список отсутствующего материала ====== +
- +
-<hidden Список отсутствующего материала>​ +
-      * [[05#V.6.2. Вывод спрайта на экран]] +
-        - отсутствуют примеры с 4 по 11 +
-        - рисунки с 1 по 4 +
-  +
-  * **Приложение 1. MSX BASIC и машинный язык** +
-    * 1.1. Связь программы на MSX BASIC с подпрограммами в машинных кодах +
-      * 1.1.1. Примеры +
-    * 1.2. Использование подпрограмм BIOS +
-      * 1.2.1. Подпрограммы BIOS без параметров +
-      * 1.2.2. Подпрограммы BIOS, требующие параметры +
-      * 1.2.3. Подпрограммы BIOS, возвращающие параметры +
-      * 1.2.4. Примеры +
-    * 1.3. Работа с подпрограммами BDOS +
-    * 1.4. Использование ловушек +
-    * 1.5. Работа с двоичными файлами +
-    * 1.6. Реализация вещественной арифметики на машинном языке +
-    * 1.7. Программирование звуковых эффектов +
-      * 1.7.1. Фоновое музыкальное сопровождение +
-    * 1.8. Возможность расширения программного обеспечения на MSX–компьютерах +
-      * 1.8.1. Подробная карта памяти +
-      * 1.8.2. Работа со слотами +
-      * 1.8.3. Создание новых операторов +
-    * 1.9. Примеры использования входных точек системы BDOS +
-    * 1.10. Коды команд микропроцессора Z80 +
-    * 1.11. Мнемоника команд микропроцессоров Intel 8080 и Z80 +
-  * **Приложение 2. Справочный материал** +
-    * 2.6. Рабочая область +
-    * 2.7. Структура видеопамяти +
-    * 2.8. Команды видеопроцессора +
-    * 2.9. Работа с "​мышью"​ и световым пером +
-    * 2.10. Регистры статуса и регистры команд +
-  * Список литературы. +
-  * Предметный указатель. +
- +
-</​hidden>​ +
- +
-====== Ссылки ====== +
- +
-Отправной точкой был архив **%%MSX%% Programmer Ref (ru).rar** ([[https://​mirrors.pdp-11.ru/​_msx/​books/​MSX%20Programmer%20Ref%20(ru).rar|ссылка 1]], [[http://​msx2.org/​MSX%20Books/​RU/​MSX%20Programmer%20Ref%20(ru).rar|ссылка 2]]). +
- +
-Выражаем огромную благодарность тем, кто помог найти файлы:​ +
-  * {{bas3_1.zip|Оригинал файла BAS3_1.MET: глава III (разделы 1,2)}}. Нормальный файл найден благодаря пользователю **caro** на форуме [[msxorg>​node/​56902#​comment-356500|msx.org]] +
-  * {{bas11.zip|Файлы BAS11-1.MET,​ BAS11-2.MET,​ BAS11-3.MET:​ глава (разделы XI. XI.2,​XI.1.3,​XI.1.4)}}. Файлы найден благодаря пользователю **АIеks** на форуме [[msxorg>​node/​56902#​comment-356616|msx.org]] +
-  * {{bas.zip|Полный архив книги}}. Получен благодаря пользователю **АIеks** на форуме [[msxorg>​node/​56902#​comment-356654|msx.org]] +
- +
- +
-{{tag>​Topic MSX Programming Book_msxbpg on_github}} +
msx/basic_programming_guide/start.1584865044.txt.gz · Последние изменения: 2020-03-22 11:17 (внешнее изменение)