Ты слыхал как грузится Flyshark ?! нет, совсем не тот, что на дискете...а Flyshark, тот самый блин Flyshark...тот ,что был когда то на кассете...
zx spectrum 48 issuse 6a, Ленинград-1, zx spectum 128 +2 grey,Пентагон-128, ZXM-Phoenix 5.02 ( assembly)
BIOS у CP/M опять же состоит из 2х частей, более менее платформо независимый биос и монитор по типу тех что РК86 Специалист итд
Давайте проясним ситуацию. Биос для девборды, это скажем помощник разработчику программ. Он скажем ближе должен к монитору РК подобных.
Тоесть набор простых функций, которые помогли бы самим не заморачиваться с выводом символов и строк на экран, чтение клавиатуры, ввода и вывода информации в COM порт. Ну и работа с SD картой.
Все остальные Оси это уже на любителя. Тем более Биос можно отключать и играться только с ОЗУ.
Естественно в ПЗУ будет необходим некий набор утилит для упрощения жизни разработчику.
Вот чтобы скажем упростить вызовы проще думаю их через RST делать,
например:
RST 8h - переход по адресу в другую страницу ПЗУ
RST 10h - работа с видеоадаптером
RST 18h - работа с клавиатурой и мышой
RST 20h - работа с COM портом
RST 28h - работа с SD картой
Последний раз редактировалось Mick; 25.07.2013 в 14:00.
он к тому, можно повыдерать, код, чем писать полностью свое. или использовать номера функций и предаваемые значения как там.
оси то не надо, просто удобный доступ к периферии.
вообщем, чем проще тем лучше, ну а если запускать модифицированный cpm, кому то будет еще одно щастие,
по сути это уже мелко комп.![]()
Ты слыхал как грузится Flyshark ?! нет, совсем не тот, что на дискете...а Flyshark, тот самый блин Flyshark...тот ,что был когда то на кассете...
zx spectrum 48 issuse 6a, Ленинград-1, zx spectum 128 +2 grey,Пентагон-128, ZXM-Phoenix 5.02 ( assembly)
Ну я к тому тоже, что не пустые слова говорите, а ссылки на страницы или лучше выдержки. Чтобы было удобно самим же потом пользоваться.
Кстати подумалось. Что типа ближе CPM или MS DOS. В последней мне лично привычнее, тем более я там частый гость![]()
Последний раз редактировалось Mick; 25.07.2013 в 14:40.
Ты слыхал как грузится Flyshark ?! нет, совсем не тот, что на дискете...а Flyshark, тот самый блин Flyshark...тот ,что был когда то на кассете...
zx spectrum 48 issuse 6a, Ленинград-1, zx spectum 128 +2 grey,Пентагон-128, ZXM-Phoenix 5.02 ( assembly)
Вот похожий проект, тут есть список реализованных функций вывода:
http://habrahabr.ru/post/129746/
ZXM-Phoenix rev.01 2048K, VG93 hw emulator
Вот накалякал примерный список функций видеодрайвера BIOSа.
Список управляющих символов позаимствовал из тем про Специалист.
Если что не понятно или есть предложения, высказывайтесь.Код:;-------------------------------------------------------------------- ; Управляющие последовательности ;-------------------------------------------------------------------- ;08h - Влево, с переходом на строку выше на границе экрана ;0Ah - Перевод строки со скроллингом ;0Ch - Домой ;0Dh - Возврат каретки ;18h - Вправо с переходом на следующую строку на границе экрана ;19h - Вверх со скроллингом ;1Ah - Вниз со скроллингом ;1Fh - Очистка экрана ; ;1Bh - ESC: ;1Bh, 41h - Вверх ;1Bh, 42h - Вниз ;1Bh, 43h - Вправо ;1Bh, 44h - Влево ;1Bh, 45h - Стирание экрана ;1Bh, 48h - Домой ;1Bh, 4Ah - Стирание ниже курсора ;1Bh, 4Bh - Стирание правее курсора ;1Bh, 58h, (COLOUR) - Цвет сивола и фона ;1Bh, 59h, (XXH+20H), (YYH+20H) - Позиция курсора ;1Bh, 61h - Гашение курсора ;1Bh, 62h - Восстановление курсора ;1Bh, 70h - Включение инверсии ;1Bh, 71h - Выключение инверсии ;--------------------------------------------------------------------- ; Функции видеодрайвера RST 10h ;--------------------------------------------------------------------- ; Функция 00h - Инициализация видеодрайвера ;--------------------------------------------------------------------- ; Входные параметры: A = 00h ; Выходные параметры: нет ; Описание: Происходит инициализация драйвера видеоконтроллера. ; Устанавливается 1 видеостраница, отображение экрана происходит ; в адресах 2000....3FFFh. Происходит очистка экрана и установка ; цвета символов и фона по умолчанию, а именно белые буквы на черном фоне ; Курсор устанавливается в левый верхний угол (коодинаты 0,0). ; Курсор при этом выключен (не отображается) ;-------------------------------------------------------------------- ; Функция 01h - Установка режима работы курсора ;--------------------------------------------------------------------- ; Входные параметры: A = 01h ; C = 00h - курсор выключен, ; 01h - курсор включен (мерцает) ; Выходные параметры: нет ; Описание: Происходит установка режима работы курсора. Если курсор ; включен, то текущее знакоместо будет мерцать (происходит попеременное ; влючение/выключение инверсии символа) ;-------------------------------------------------------------------- ; Функция 02h - Чтение режима работы курсора ;--------------------------------------------------------------------- ; Входные параметры: A = 02h ; Выходные параметры: С = текущий режим работы курсора ; Описание: Происходит чтение текущего значения режима работы курсора ; (выключен или включен). ;-------------------------------------------------------------------- ; Функция 03h - Установка позиции курсора ;--------------------------------------------------------------------- ; Входные параметры: A = 03h ; B = позиция по Y (вертикали), с значениями 0...24 ; С = позиция по X (горизонтали), с значениями 0...79 ; Выходные параметры: нет ; Описание: Происходит установка новой позиции курсора. После этого ; вывод символьной информации будет осуществлятся с новой позиции курсора ;-------------------------------------------------------------------- ; Функция 04h - Чтение текущей позиции курсора ;--------------------------------------------------------------------- ; Входные параметры: A = 04h ; Выходные параметры: текущая позиция курсора ; B = позиция по Y (вертикали) ; С = позиция по X (горизонтали) ; Описание: Происходит чтение текущей позиции курсора. ;-------------------------------------------------------------------- ; Функция 05h - Установка цвета символов ;--------------------------------------------------------------------- ; Входные параметры: A = 05h ; C = цвет фона и цвет точек, с значениями 0...15 ; Выходные параметры: нет ; Описание: Происходит установка нового цвета знакоместа. После этого ; вывод символьной информации будет осуществлятся с новым цветом. ;-------------------------------------------------------------------- ; Функция 06h - Чтение текущей цвета символов ;--------------------------------------------------------------------- ; Входные параметры: A = 06h ; Выходные параметры: С = текущий цвет ; Описание: Происходит чтение текущего цвета. ;-------------------------------------------------------------------- ; Функция 07h - Установить активную страницу экрана ;--------------------------------------------------------------------- ; Входные параметры: A = 07h ; C = новая страница экрана с значением 0..7 ; Выходные параметры: нет ; Описание: По этой команде происходит переключение на новую страницу экрана ;-------------------------------------------------------------------- ; Функция 08h - Установить пользовательский знакогенератор ;--------------------------------------------------------------------- ; Входные параметры: A = 08h ; BC = адрес знакогенератора пользователя ; Выходные параметры: нет ; Описание: По этой команде происходит копирование знакогенератора из программы ; пользователя в область знакогенератора страницы экрана ;-------------------------------------------------------------------- ; Функция 09h - Вывод символа на экран ;--------------------------------------------------------------------- ; Входные параметры: A = 09h ; C = выводимый символ ; Выходные параметры: нет ; Описание: Выводится символ в текущее положение курсора с текущим цветом ; Кроме того обрабатываются управляющие символы ;-------------------------------------------------------------------- ; Функция 0Ah - Вывод символа и его цвета на экран ;--------------------------------------------------------------------- ; Входные параметры: A = 0Ah ; B = цвет символа и цвет фона ; C = выводимый символ ; Выходные параметры: нет ; Описание: Выводится символ и его цвет в текущее положение курсора. ; В этой команде не обрабатываются управляющие символы ;-------------------------------------------------------------------- ; Функция 0Bh - Прочитать символ и его цвет с текущего положения курсора ;--------------------------------------------------------------------- ; Входные параметры: A = 0Bh ; Выходные параметры: ; B = цвет символа и цвет фона ; C = выводимый символ ; Описание: Происходит чтение символа и его цвета из текущего положения курсора. ;-------------------------------------------------------------------- ; Функция 0Ch - Заполнение символом и его цветом область экрана ;--------------------------------------------------------------------- ; Входные параметры: A = 0Сh ; B = цвет символа и цвет фона ; C = выводимый символ ; D = количество символов по Y (вертикали) ; E = количество символов по X (горизонтали) ; Выходные параметры: нет ; Описание: Заполняется область экрана начиная с текущей позиции курсора ; символом и его цветом. ; В этой команде не обрабатываются управляющие символы ;-------------------------------------------------------------------- ; Функция 0Dh - Отрисовка окна без заголовка ;--------------------------------------------------------------------- ; Входные параметры: A = 0Dh ; B = цвет символа и цвет фона ; C = выводимый символ ; D = размер окна Y (вертикали) ; E = размер окна по X (горизонтали) ; Выходные параметры: нет ; Описание: Создается область на экране окруженная рамкой, созданная ; символом и его цветом. Кроме того область внутри окна очищается ; символом пробела с цветом, заданным при создании окна ;-------------------------------------------------------------------- ; Функция 0Eh - Отрисовка окна c заголовком ;--------------------------------------------------------------------- ; Входные параметры: A = 0Eh ; B = цвет символа и цвет фона ; C = выводимый символ ; D = размер окна Y (вертикали) ; E = размер окна по X (горизонтали) ; HL = адрес текстовой строки заголовка ; Выходные параметры: нет ; Описание: Создается область на экране окруженная рамкой, созданная ; символом и его цветом. Кроме того область внутри окна очищается ; символом пробела с цветом, заданным при создании окна ;-------------------------------------------------------------------- ; Функция 0Fh - Вывод строки символов на экран ;--------------------------------------------------------------------- ; Входные параметры: A = 0Fh ; BC = адрес выводимой строки ; Выходные параметры: нет ; Описание: Выводится строка символов в текущее положение курсора с текущим цветом ; Кроме того обрабатываются управляющие символы. ; Строка должна заканчиваться кодом - 00h ;-------------------------------------------------------------------- ; Функция 10h - Вывод строки символов и их цвета на экран ;--------------------------------------------------------------------- ; Входные параметры: A = 10h ; BC = адрес выводимой строки ; Выходные параметры: нет ; Описание: Выводится строка символов в текущее положение курсора ; Формат симольной строки должен соответствовать следующей последовательности - символ, цвет,.... ; Кроме того управляющие символы не обрабатываются ; Строка должна заканчиваться кодом - 00h
Вот, думаю сюда еще внести функцию вывода символа в HEX виде
Лучше бы не символа в HEX-виде, а 16-битного числа в двоичном и шестнадцатиричном форматах.
A=код функции
BC=число
D=основание(2,10,16)
вывод тек.цветом с тек.позиции
Просто любопытно: вот эти функции, они где-нибудь реально используются ?
Чтение текущей позиции курсора
Прочитать символ и его цвет с текущего положения курсора
ZXM-Phoenix rev.01 2048K, VG93 hw emulator
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)