Здесь посмотрите (это не "весь обещанный софт"): http://zx.pk.ru/showpost.php?p=237627&postcount=73
Здесь посмотрите (это не "весь обещанный софт"): http://zx.pk.ru/showpost.php?p=237627&postcount=73
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
У Профи выше экрана размещается область доп команд.
Вопрос: а можно её ужать так, чтоб она с #C000 размещалась, и как это отразится на работе софта Профи?
вопрос несколько не понятен. у профи экран (расширенный, если про него речь) может быть размещён на выбор в одном из трёх "окон" - cpu1, cpu2 и cpu3, адреса соответственно 4000h, 8000h и c000h. при работе с цпм или кудос, экран включен в окно cpu1 (собственно и все страницы включаются в это окно). и что за область доп.команд?
Скрытый текст
Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
ZX Evolution Rev B.
Color 48 + Beta Disk Interface +FDD+YM2149F
Орель-08БК
Pentagon-48 (недоссобранный кем-то)
Pentagon-128 (полуубитый)
Кворум-128 (в ремонте)
Магик-05 (в ремонте)
Robotron 1715
Корвет ПК8020 и ПК8010
Amstrad CPC 464
Amstrad CPC 6128[свернуть]
http://abzac.retropc.ru/content?id=68Область дополнительных команд - сюда могут загружаться дополнительные системные программы: отладчик, интерпретаторы командных языков и т.п.
Нет никакой области дополнительных команд. В дос-5.30, когда вынесли основные коды BDOS в скрытый сегмент, то ОЗУ начиная с D400 стало свободно (BDOS весит примерно 8К, после выноса, в основном ОЗУ остается менеджер, который делает вызов БДОСа из сегмента, передавая ему параметры и забирая ответ, менеджер занимает примерно 1,5-2К, по идее, надо было бы освободить место, но авторы решили оставить все как есть (глупо!!!), а в свободные куски ОЗУ грузить резиденты. Решение корявое. Для размещения резидентов в основоной памяти я в Q-DOS сделал спец. функции, они отрезают часть ОЗУ сверху вниз, с шагом в 256 байт. Т.е. надо нам 256 - взяли. Куски растут от больших адресов к меньшим. Это и понятно, выше находится система. Так вот, авторы адаптации микродос которая называется "дос-5.30" протсо не могли изменить сам модуль БДОС, вот и довольствовались кривым решением.
---------- Post added at 11:30 ---------- Previous post was at 11:27 ----------
Скажу ещё, что начиная с адреса 0100H и до адреса который лежит 0006 (в ячейке 5 лежит команда JP BDOS) расположена область TPA - Transient Program Area - область транзитных программ. Именно в неё, с адреса 100H загружается COM файл. стек устанавливается на последнюю свободную ячейку. т.е. SP=BDOS (слову по адресу 6).
В МикроДОС был поддержан ещё один тип исполняемых файлов - SPR, они грузятся в верх TPA, т.е. впритык к концу TPA. Адреса пересчитываются используя таблицу бит, которая находится в самом SPR файле. Каждый бит соответстует байту программы, если бит =0, то пересчет не требуется, если 1, то требуется. Программы компилятся под адрес 0.
Последний раз редактировалось Vadim; 11.05.2011 в 09:32.
Скрытый текст
Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
ZX Evolution Rev B.
Color 48 + Beta Disk Interface +FDD+YM2149F
Орель-08БК
Pentagon-48 (недоссобранный кем-то)
Pentagon-128 (полуубитый)
Кворум-128 (в ремонте)
Магик-05 (в ремонте)
Robotron 1715
Корвет ПК8020 и ПК8010
Amstrad CPC 464
Amstrad CPC 6128[свернуть]
Много, но непонятно.
Так, я в Профи CP/M не разбираюсь, и что куда выносили не знаю, можно самое последнее распределение памяти?
Повторю вопрос по другому. Всё окно CPU2 я хочу занять экраном. Как это отразится на софте под Профи? Т.е. экран будет 16k, одной страницей.
---------- Post added at 09:55 ---------- Previous post was at 09:49 ----------
не понял, TPA же вроде выше #100..
---------- Post added at 09:58 ---------- Previous post was at 09:55 ----------
конец TPA D400?
В адресе 5 лежит команда JP BDOS. Постом выше и по твоей ссылке ты бы мог узнать, что BDOS лежит минимум в D400. А это гораздо больше чем 100, как понимаешь. В Q-DOS ещё выше.
В старых системах на профи - да. В Q-DOS E400 или E600 не помню точно.
Можно, но только что бы экран не было бы постоянно в этом куске адресного пространства. Т.е. что бы экран - это определенная страница ОЗУ и всё. А куда её подключать - дело десятое. Т.е. в ЦПМ системах если экранная область видна постоянно - то на располагается в области выше BDOS - т.е. которая в ведении системы находится, ни в коем случае не в ТПА. А вообще делаю так, что экран подключается только на время записи в него. Не важно где. Но удобнее с адресов 4000, 8000, можно и с 0, только придется прерывания запрещать (если mode 1 стоит)...
---------- Post added at 12:15 ---------- Previous post was at 12:14 ----------
В Q-DOS реальная точка BDOS - E900. Но 512 байт (две страницы по 256) откушивает резидентная часть cmd.com в итоге вершина доступного ОЗУ - E700.
Скрытый текст
Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
ZX Evolution Rev B.
Color 48 + Beta Disk Interface +FDD+YM2149F
Орель-08БК
Pentagon-48 (недоссобранный кем-то)
Pentagon-128 (полуубитый)
Кворум-128 (в ремонте)
Магик-05 (в ремонте)
Robotron 1715
Корвет ПК8020 и ПК8010
Amstrad CPC 464
Amstrad CPC 6128[свернуть]
Vadim, ты не ответил, как существующий софт будет реагировать на то, что экран будет занимать целиком всю страницу, а не половину. Ессно ставить её можно в любое оно, и ессно, драйвер видеовывода придётся переписать.
Экран и так сейчас занимает почти всю страницу в 16К, т.е. ответ - нормально.
Скрытый текст
Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
ZX Evolution Rev B.
Color 48 + Beta Disk Interface +FDD+YM2149F
Орель-08БК
Pentagon-48 (недоссобранный кем-то)
Pentagon-128 (полуубитый)
Кворум-128 (в ремонте)
Магик-05 (в ремонте)
Robotron 1715
Корвет ПК8020 и ПК8010
Amstrad CPC 464
Amstrad CPC 6128[свернуть]
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)