Апогей в Proteus
Moderator: Shaos
-
- Fanat
- Posts: 88
- Joined: 21 Feb 2017 06:54
- Location: Казань
Апогей в Proteus
Попробовал собрать на РК86 схему дешифрации портов Апогея и подключил её ПЗУ и ЗГ - запустил его пока в Протеусе :
Сохранены все стандартные точки входа в Монитор, думаю если использовать эти стандартные точки входа, РКашные программы будут работать без переделок, например у меня без проблем заработала моя программа загрузки каталога из РОМ диска Думаю, если без переделок , только добавив выходы для цвета, как в Апогее и изменить настройки ВГ75 - РК сможет стать такой же цветной , как Апогей. все остальное полностью совпадает. осталось разобраться с 2 ПЗУ - похоже там есть какието тесты и ещё что то ?
Предварительно все работает. ПЗУ АПОГЕЯ практически полностью повторяет ПЗУ оригинального РК86, за исключением настроек памяти, экранной области и портов специфических для Апогея. директива "U" не работает, нет перехода на "F000", есть 4 перехода на адреса второй ПЗУ 2Кб с "F000", но что там пока не понял.Сохранены все стандартные точки входа в Монитор, думаю если использовать эти стандартные точки входа, РКашные программы будут работать без переделок, например у меня без проблем заработала моя программа загрузки каталога из РОМ диска Думаю, если без переделок , только добавив выходы для цвета, как в Апогее и изменить настройки ВГ75 - РК сможет стать такой же цветной , как Апогей. все остальное полностью совпадает. осталось разобраться с 2 ПЗУ - похоже там есть какието тесты и ещё что то ?
You do not have the required permissions to view the files attached to this post.
-
- Fanat
- Posts: 88
- Joined: 21 Feb 2017 06:54
- Location: Казань
Re: Апогеи
Продолжаю с Апогеем Ц
подключил РОМ диск - тоже аналогично как в РК86: есть много игр : И мой РК86 в Протеусе тоже стал ЦВЕТНЫМ !!! правда в РК пришлось изменить вывод на экран - своя программа безжалостно обнуляет старший бит 7 при записи в экранную память и никакие атрибуты цвета не работают.
В дополнительном 2 ПЗУ есть список новых команд :
"J", "Z" "W" "H" "Q" "A" "B" "K" "V" "P"
"P" - это тесты памяти Апогея.
"V" похоже на запись данных на внешний РАМ диск, причем запись происходит командами EI DI - установка сброс выхода INTE процессора, который ктому же используется для переключения страниц ПЗУ знакогенератора
подключил РОМ диск - тоже аналогично как в РК86: есть много игр : И мой РК86 в Протеусе тоже стал ЦВЕТНЫМ !!! правда в РК пришлось изменить вывод на экран - своя программа безжалостно обнуляет старший бит 7 при записи в экранную память и никакие атрибуты цвета не работают.
В дополнительном 2 ПЗУ есть список новых команд :
"J", "Z" "W" "H" "Q" "A" "B" "K" "V" "P"
"P" - это тесты памяти Апогея.
"V" похоже на запись данных на внешний РАМ диск, причем запись происходит командами EI DI - установка сброс выхода INTE процессора, который ктому же используется для переключения страниц ПЗУ знакогенератора
You do not have the required permissions to view the files attached to this post.
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Апогей в Proteus
Это ПЗУ от Апогея? V получается недокументированная директива? Надо её чтоли дизассемблировать...
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Fanat
- Posts: 88
- Joined: 21 Feb 2017 06:54
- Location: Казань
Re: Апогей в Proteus
Искал в документации информацию про то как организован графический режим и нашел далеко в другой теме про эту директиву "V" - в документации - есть про неё тоже оказывается :
а про графический режим так ничего и не понятно.
Понял, что переключает знакогенератор на 2 половину - где знакоместа 4 ряда по 6 точек, и значит что бы заполнить экран надо выводить
не 25 а 50 строк по 64 символа, а для этого должна быть дополнительная экранная память ( ещё столько же ) а где она располагается и как определить когда она подключается - пока неясно ...
а про графический режим так ничего и не понятно.
Понял, что переключает знакогенератор на 2 половину - где знакоместа 4 ряда по 6 точек, и значит что бы заполнить экран надо выводить
не 25 а 50 строк по 64 символа, а для этого должна быть дополнительная экранная память ( ещё столько же ) а где она располагается и как определить когда она подключается - пока неясно ...
You do not have the required permissions to view the files attached to this post.
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Апогей в Proteus
А это из какой книжки? И что изображено на рисунке 10.2?...всё нашёл - это приложение 1, страница 65 - и вот текст программы на рис.10.1 со стр.66 и схема на рис.10.2 со стр.67:
Вот тут я приводил исходники демки от vinxru, использующей этот урезанный шрифт высотой 4 пиксела и соответствующий режим ВТ57/ВГ75:Damir wrote:а про графический режим так ничего и не понятно.
Понял, что переключает знакогенератор на 2 половину - где знакоместа 4 ряда по 6 точек, и значит что бы заполнить экран надо выводить
не 25 а 50 строк по 64 символа, а для этого должна быть дополнительная экранная память ( ещё столько же ) а где она располагается и как определить когда она подключается - пока неясно ...
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Fanat
- Posts: 88
- Joined: 21 Feb 2017 06:54
- Location: Казань
Re: Апогей в Proteus
Т е ты говоришь что графический экран будет только в половину экрана, зато широкоэкранный !
но сместив экранную область в другие адреса можно выводить и на полный экран должно быть.?
но сместив экранную область в другие адреса можно выводить и на полный экран должно быть.?
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Апогей в Proteus
Нет - ВГ75 максимум 64 строки умеет, а если символ высотой 4 пиксела, то это только 64x8=256 строк вместо обычных РК-шных 30x10=300 (плюс 1-2 строки на кадровый синхро-импульс) - т.е. это получается видеосигнал похожий на NTSC - около 60 Гц кадровой частоты и если монитор 4:3 то кадр будет растянут на эти 4:3 (не широкоэкранный) - широко только эмулятор Emu80 показывает (кстати там на скриншоте видно в нижней строке статуса написаны характеристики видеовыхлопа).Damir wrote:Т е ты говоришь что графический экран будет только в половину экрана, зато широкоэкранный !
но сместив экранную область в другие адреса можно выводить и на полный экран должно быть.?
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Fanat
- Posts: 88
- Joined: 21 Feb 2017 06:54
- Location: Казань
Re: Апогей в Proteus
Полный экран я имел ввиду стандартные РКашные 25 строк символьных высотой по 8 тв строк + 2 тв-строки для между строк . Но если они высотой по 4 тв-строки, то нам надо на полный экран выводить 50 строк, если без межстрочных промежутков то ещё 10 строк символов.
итого 60 строк высотой по 4 тв-строки = всего 240 тв-строк, ну или если 64 строки - то 256.
но это и информации о символах тоже в 2 раза больше, а экранная область имеет фиксированное расположение и обьем.
Т е в графическом режиме эта область меняется, а вот информация о том куда она смещается и на сколько - где в системной области это храниться? - вот что мне надо, что бы выводить на ЛЦД экран , но это скорее всего напрямую пишется в ДМА и ВГ75.
А эмуляторы да, в зависимости от программ показывают разные значения разрешения - 30х78, 50х78, есть и 64 х 78 ...ну и экранная картинка
скачет в пропорциях - то шире то квадрат.
итого 60 строк высотой по 4 тв-строки = всего 240 тв-строк, ну или если 64 строки - то 256.
но это и информации о символах тоже в 2 раза больше, а экранная область имеет фиксированное расположение и обьем.
Т е в графическом режиме эта область меняется, а вот информация о том куда она смещается и на сколько - где в системной области это храниться? - вот что мне надо, что бы выводить на ЛЦД экран , но это скорее всего напрямую пишется в ДМА и ВГ75.
А эмуляторы да, в зависимости от программ показывают разные значения разрешения - 30х78, 50х78, есть и 64 х 78 ...ну и экранная картинка
скачет в пропорциях - то шире то квадрат.
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Апогей в Proteus
Смотри исходник vinxru под спойлером - там экран сдвинут в памяти вниз т.к. он больше:
Напомню, что это Апогей, где ОЗУ распространяется вплоть до EAFF (EBFF?)
Приаттачиваю архив с бинарником (и исходником) на попробовать:
Code: Select all
VG75_ADDR = 0EF00h
VT57_ADDR = 0F000h
VIDEOMEM_ADDR = 08000h
VIDEOMEM_SIZE = 78*64
Приаттачиваю архив с бинарником (и исходником) на попробовать:
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Fanat
- Posts: 88
- Joined: 21 Feb 2017 06:54
- Location: Казань
Re: Апогей в Proteus
Почему то эмуляторы этот тест показывают по разному :
У Апогея адреса дешифрируются в ПЗУ и понять как используется ОЗУ без анализа прошивки этого ПЗУ невозможно.
не понятно как использовать область с EAF5 - EAFF, EB00-EBFF.
Первый ЕМУ80 - делит экран и меняет местами верх-низ, а второй В2В показывает правильно.У Апогея адреса дешифрируются в ПЗУ и понять как используется ОЗУ без анализа прошивки этого ПЗУ невозможно.
не понятно как использовать область с EAF5 - EAFF, EB00-EBFF.
You do not have the required permissions to view the files attached to this post.
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Апогей в Proteus
Чтобы подобные программы работали как надо на Emu80 там в конце экрана нужно код F3 воткнуть
Прошивка ПЗУ дешифратора Апогея пролетала на зхпк:
Прошивка ПЗУ дешифратора Апогея пролетала на зхпк:
Code: Select all
00: 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07
10: 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07
20: 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07
30: 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07
40: 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07
50: 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07
60: 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07
70: 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07
80: 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06
90: 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06
A0: 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06
B0: 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06
C0: 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06
D0: 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06
E0: 06 06 06 06 06 06 06 06 06 06 06 06 05 04 03 02
F0: 01 01 01 01 01 01 01 01 00 00 00 00 00 00 00 00
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Апогей в Proteus
Получается оно принимает решение с точностью до 256-байт:
00XX...7FXX -> 7 : первая половина ОЗУ
80XX...EBXX -> 6 : вторая половина ОЗУ
ECXX -> 5 : ВИ53
EDXX -> 4 : ВВ55 клавы
EEXX -> 3 : ВВ55 разъёма
EFXX -> 2 : ВГ75
F0XX...F7XX -> 1 : первая половина ПЗУ на чтение, ВТ57 на запись
F8XX...FFXX -> 0 : вторая половина ПЗУ
Выходит EB00-EBFF это ОЗУ
00XX...7FXX -> 7 : первая половина ОЗУ
80XX...EBXX -> 6 : вторая половина ОЗУ
ECXX -> 5 : ВИ53
EDXX -> 4 : ВВ55 клавы
EEXX -> 3 : ВВ55 разъёма
EFXX -> 2 : ВГ75
F0XX...F7XX -> 1 : первая половина ПЗУ на чтение, ВТ57 на запись
F8XX...FFXX -> 0 : вторая половина ПЗУ
Выходит EB00-EBFF это ОЗУ
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Fanat
- Posts: 88
- Joined: 21 Feb 2017 06:54
- Location: Казань
Re: Апогей в Proteus
У меня на дискретах тоже не так сложно получилось, и можно переключить Апогей/РК86, хотя почти все ркашные проги работают на Апогее, если не писать прямо в память и порты, а пользоваться стандартными точками Монитора :
и графику получилось и своё немного попробовал добавить , но в мой протеусовский экран не все вмещается :
You do not have the required permissions to view the files attached to this post.
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Апогей в Proteus
Я 10 лет назад запланировал себе сделать гибрид РК/Микроша/Апогей - вроде даже на мелкой логике дешифратор не сильно тяжелый выходит (хотя на галке было бы сильно легче):Damir wrote:У меня на дискретах тоже не так сложно получилось, и можно переключить Апогей/РК86, хотя почти все ркашные проги работают на Апогее, если не писать прямо в память и порты, а пользоваться стандартными точками Монитора
http://www.nedopc.org/forum/viewtopic.php?f=93&t=10581
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Fanat
- Posts: 88
- Joined: 21 Feb 2017 06:54
- Location: Казань
Re: Апогей в Proteus
Cделал наконец свой гибрид РК86-Апогей-Специалист с выводом на ЛЦД экран. Схема вот такая - всего 17 корпусов, не считая две микросхемы ЕЕПРОМ 24С256, которые пока не задействованы, но запланированы на будущее развитие :
Можно даже в Протеусе загрузить из внешнего ПЗУ или СДРОМА программки или игры и поиграть и РК и в Апогее :
Новшества - на все адресное пространство поставил одну микросхему ОЗУ на 64К. ПЗУ в адресном поле нет совсем. Дешифратор адресов сделал на ПЗУ 27С64, что резко сократило схему и номенклатуру микросхем, которых у меня все равно нет в наличии.
Конфигурация ПК выбирается двумя переключателями - РК-Spec и РК-Апо, в зависимости от выбранной конфигурации микроконтроллер в режиме ПДП записывает по нужным адресам в ОЗУ (РК - c E000, Апогей с F000 и Спец-т с С000) программу Монитора соответствующего ПК и необходимые доп программы и подает сигнал "Сброс ЦПУ" и процессор стартует в обычном режиме. Дешифратор работает с шагом в 16 байт для каждого адреса внешнего устройства ( 2 ППА, Таймер ВИ53, имитатор ВГ75 и адресное поле ВТ57) все остальное пространство - ОЗУ к которому есть полный доступ. Также сделал для РК86 поддержку цвета в формате Апогея.Можно даже в Протеусе загрузить из внешнего ПЗУ или СДРОМА программки или игры и поиграть и РК и в Апогее :
You do not have the required permissions to view the files attached to this post.