Важная информация

User Tag List

Страница 7 из 14 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя
Показано с 61 по 70 из 135

Тема: RK-КНГМД для "Специалиста"

  1. #61
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,180
    Спасибо Благодарностей отдано 
    263
    Спасибо Благодарностей получено 
    456
    Поблагодарили
    182 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Понял, попробую набросать конфиг - посмотрим, что из этого получится...

    - - - Добавлено - - -

    Вот, сделал конфиг и отдельную сборку с его автозапуском:
    http://emu80.org/temp/Emu80_sprkfdc.zip

    В РК-ДОС изменил адреса вызовов F803, F809, F812 и F818 на C8xx.
    Похоже, что С812 в Специалисте работает немного не так, как F812 на РК - приходится постоянно нажимать Enter, чтобы что-то изменилось на экране.

    В общем, в основном работает, но требует дальнейшей доводки:



    - - - Добавлено - - -

    P.S. Exe без изменений, новый только конфиг.

  2. #61
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #62
    Banned
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyk
    В РК-ДОС изменил адреса вызовов F803, F809, F812 и F818 на C8xx
    Не понял, зачем переделывать RK-DOS с целью поменять адреса в самой RK-DOS.

    Так конечно будет работать и без узла совместимости с ОРИОНОМ и РК86 (что переадресует адреса F800...F8FF на C800). Но зачем менять программы, их же много, если 2 диода снимают проблему. ИД7 на область F800...FFFF всё-равно ставить, если пользователь хочет иметь В/У. Когда есть совместимость по вызовам F800, то системные программы для RK-DOS для всех 3-х типов компьютеров с ней (РК, ОРИОН, СП-Т) могут использовать одни и те же программы.

    В общем, не понял есть ли в эмуляторе уже узел совместимости или нет. Т.е что будет если сделать CALL F803 - завис или ввод с клавиатуры ?

    Цитата Сообщение от Pyk
    Похоже, что С812 в Специалисте работает немного не так, как F812 на РК - приходится постоянно нажимать Enter, чтобы что-то изменилось на экране
    Не помню такого. Т.е не помню, что бы мне пришлось переделывать ROM-BIOS. Правда я использовал другой ROM-BIOS. А вообще орловский монитор левый, у него есть и другие несовместимости.

    F812 на РК если есть нажатие, считывает символ и кладёт его в однобайтовый буфер. Так, якобы, имитируется аппаратная клавиатура. А авторы ПЗУ ОРИОНА и Орлов этого не знали и не имплементировали. Поэтому, когда скорость CPU мала по F812 возвращается флаг о наличии символа в буфере. Получив флаг готовности CPU лезет в F803, чтобы этот символ забрать, но клавиатуру уже отпустили и он подвесает в F803 до следующего нажатия. Это та же самая проблема, что возникает при попытке использовать игры от РК на ОРИОНЕ.

    Позднее, возможно попробую написать монитор C800 более совместимый с РК86, а возможно даже встрою туда эмулятор РК86. Я уже делал так на ОРИОНЕ. Для получения совместимости надо "писать в" и реально использовать все раб.ячейки ПЗУ РК86, а Орлов сделал просто халяву, переадресовал на похожие п/п-ммы загрузчика, хотя принципы совершенно разные.

    А экранный эмулятор делается так. Любая из следующих п/п-мм ПЗУ F803, F809, F812, F815, F818, F82D проверяет простейший аппаратный таймер, благодаря чему "узнает", что прошло более 0.4-0.8 секунды. И тогда копирует экран РК86 в экран ОРИОНА. Т.е экран ОРИОНА всегда повторяет экран РК86, даже если туда символы попали прямой наглой записью прямо в экранное ОЗУ. Т.о если и ROM-BIOS работает правильно, то получается 100% совместимость с РК86 (за исключением программ идиотов, которые лезут прямо внутрь ПЗУ F800, к сожалению таких придурков довольно много).

    Правда, если на ОРИОНЕ, такой эмулятор даёт полную совместимость не только с программами не лезущими в матрицу через ППА, но и при при крошечной переделке (смене адреса порта клав-ры с 8000 на F400) позволяет использовать даже игры лезущие напрямую к матрице клавишш (т.к клавиатуры одинаковые), то на СПЕЦИАЛИСТЕ простейшая замена адреса порта в этом не поможет (надо менять весь алгоритм сканирования РК-матрицы). Но таких игр не так уж много.

    Но в общем-то, спасибо. Хотя это ещё не совсем то (по адресации), но уже по крайней мере хоть что-то можно проверять. Т.е делать все системные вызовы на C803,C806,C809... а на адреса F800 перетранслировать уже при трансляции для реала. Это не проблема, если в ассемблере есть условная трансляция.
    Последний раз редактировалось barsik; 07.12.2017 в 00:40.

  4. #63
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,180
    Спасибо Благодарностей отдано 
    263
    Спасибо Благодарностей получено 
    456
    Поблагодарили
    182 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    http://emu80.org/temp/Emu80_sprkfdc_2.zip

    Добавил "узел совместимости". Сейчас ППА доступен по адресам FF00-FFFF, а на F800-F8FF дублируется ПЗУ из области C800-C8FF (если я правильно понял суть работы этого модуля).
    Соответственно, РК ДОС заменил оригинальной версией.

    (ПЗУ пришлось разделить на 2 части из-за бага текущей версии эмулятора, не позволившего задать в конфиге смещение относительно начала ПЗУ).

    Проблема с клавиатурой осталась. Подозреваю, в дело в вызове F812 - вроде бы была в нем какая-то несовместимость между РК и Специалистом (хотя могу и ошибаться).

  5. #64
    zx_
    Гость

    По умолчанию

    Pyk, еще лениградский монитор вроде нужен, а у вас монитор 2 в эму
    лениградский здесь
    http://zx-pk.ru/threads/27540-lening...l=1#post906478

    подменял в конфиге сам , чот не вышло , ругается на переменную ром 2 и падает -)

  6. #65
    Banned
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zx_
    лениградский монитор вроде нужен
    Для RK-DOS годится любой монитор. Имеющий входы F803, F809, F812 и F82D.

    Ленинградский монитор удобен и полезен именно для МГ-варианта компьютера, т.к он имеет автонастройку на скорость записи и удобный бегущий счетчик в правом верхнем углу, показывающий при вводе, куда грузится очередной байт. Так что сразу видно, что не произошёл улёт, что синхробайт схватился и ввод идёт.

    Чтобы было всеядно к ПЗУ и не надо было ставить ИД7 и 2 диода, лучше всего в коде RK-DOS заменить п/п-мму ввода с клавиатуры, она там всего одна. Так, как у меня сделано в версии RK-DOS для ОРИОНА. Также для экономии места там разумно убрать инициализацию ВГ75. Завтра займусь этим и сделаю RK-DOS в нужном виде, причём, чтобы были только только вызовы ROM-BIOS.

    Что хорошо тем, что в таком варианте не нужно иметь ПЗУ C800 с монитором, отчего в ПЗУ останется больше свободного места, что можно открыть ОЗУ C800...F7FF размером в 12 кб, доведя полезный объём ОЗУ до 60 кб.

    Можно получить без-магнитофонный вариант загрузчика. Для чего достаточно выкинуть из ПЗУ все магнитофонные подпрограммы, а в освободившееся место встроить что-то иное.

    Кстати при установке ВИ53 требуется слегка изменять ПЗУ загрузчика C000, т.к из-за того, что в ВИ53 нет входа RESET, он при включении питания верещит, как недорезанный. Чтобы он заткнулся, надо его программно инициализировать.

    Адресация В/У СПЕЦИАЛИСТА следующая (все адреса не от балды, а исторические, т.е кто-то когда-то их ввёл и реально поддержал).

    FF00 - ППА клавиатуры
    FE00 - доп.ППА для УФ-прошивателя, принтера и SD-карты
    FD00 - гуделка 580 ВИ53

    Эти адреса ввёл и поддерживал SP580. Позднее были добавлены следующие адреса:

    FC00 - контроллер НГМД на базе ВГ93 по схеме Корвета

    Теперь разумно добавить

    FB00 - РК-КНГМД (чтобы как в РК не тратить 2 кб F000...F7FF на его чип-селект)
    FA00 - управление режимом экрана (mode 0/mode 1/mode 2)
    F900 - D0...D6 переключение банок по 48/60 кб, FULL RAM битом D7 (факультатив)
    F800 - в плате с большим ПЗУ переключение 8-ми страниц 27512 в окне C000...DFFF

    Адреса для винчестера и AY-8912 уже не осталось. Но т.к типов КНГМД двое, то незадействованный чип-селект и пойдёт на винчестер. А AY-8912 не нужен одновременно с ВИ53, т.е или ВИ53 или AY-8912.
    Последний раз редактировалось barsik; 08.12.2017 в 11:11.

  7. #66
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,180
    Спасибо Благодарностей отдано 
    263
    Спасибо Благодарностей получено 
    456
    Поблагодарили
    182 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Боюсь, что с ленинградским монитором могут быть проблемы при чтении файлов rks из-за процедуры автонастройки скорости.
    Будет время - поэкспериментирую с ним...

  8. #67
    Banned
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyk
    могут быть проблемы при чтении файлов rks из-за процедуры автонастройки скорости
    Это не проблема, т.к настройка на скорость - это подпрограмма CALL CNST. Достаточно этот CALL забить, например код CALL, т.е байт CDH перепрошить в байт 21H (или все 3 байта заменить на нули), тогда при вводе с МГ ячейка CLD останется той, что инициализируется по сбросу (3CH для 2 МГЦ, 4CH для 2.5 МГЦ). Удаление процедуры автонастройки освободит в ПЗУ загрузчика 89 байтов для других нужд.

    Кстати, в эмуляторе B2M с этим проблем не было, работало оригинальное ПЗУ. Вот процедура определения константы чтения по пилотону.

    Код:
    ; ОПРЕДЕЛЕНИЕ КОНСТ.ЧТЕНИЯ
    ; (C) В.ИВИНСКИХ
    ; ЛЕНИНГРАД - 1988
    
    	.8080
    	cseg
    	
    PORTB	EQU	0FF01H
    CLD	EQU	08FFFH
    
    CNST:	MVI	D,150  		; КРИТЕРИЙ ЗАХВАТА - 150
    CNS2:	MOV	B,C    		; ОТМЕТОК ПОДРЯД
    	CALL	CNS10
    	JZ	CNST
    	MOV	A,C
    	SUB	B
    	JNC	CNS3
    	CMA	
    	INR	A
    CNS3:	CPI	8  		; КРИТЕРИЙ ПРОПУСКА ОТМЕТКИ
    	JNC	CNST
    	DCR	D
    	JNZ	CNS2
    CNS4:	LXI	H,0		; ПОЙМАЛИ ПИЛОТОН
    	MOV	B,L
    	MVI	D,178 		; ДЛИНА УЧАСТКА ПОДСЧЕТА
    CNS5:	CALL	CNS10
    	JZ	CNS4
    	DAD	B
    	DCR	D
    	JNZ	CNS5
    	
    ;* РАСЧЕТ КОНСТАНТЫ ЧТЕНИЯ
    
    	DAD	H
    	MOV	A,H
    	SUI	3
    	MOV	L,A
    	ORA	A
    	RAR	
    	ADD	L
    	STA	CLD		; КОНСТАНТА ЧТЕНИЯ
    	RET
    	
    CNS10:	LDA	PORTB		; ПОИСК 0 И 2-Х ПЕРЕПАДОВ
    	CPI	80H
    	JC	0C800H
    	RRC
    	JC	CNS10
    
    	MVI	E,0
    	MVI	C,0
    	CALL	CNS11
    CNS11:	INR	C
    	RZ
    	LDA	PORTB
    	RRC
    	XRA	E
    	JP	CNS11
    	MOV	A,E
    	CMA
    	MOV	E,A
    	RET
    
    	END
    Последний раз редактировалось barsik; 08.12.2017 в 00:22.

  9. #68
    zx_
    Гость

    По умолчанию

    Цитата Сообщение от Pyk Посмотреть сообщение
    Добавил "узел совместимости". Сейчас ППА доступен по адресам FF00-FFFF, а на F800-F8FF дублируется ПЗУ из области C800-C8FF (если я правильно понял суть работы этого модуля).
    думаю это не правильно, в оригинале написано про доп дешифратор на F800
    как в SP580
    вот , нашел конфигурацию ему для SP580
    http://zx-pk.ru/threads/15172-spetsi...l=1#post581476

    мож к нему попробовать подключить, без узла совместимости
    с монитором SP580
    Последний раз редактировалось zx_; 08.12.2017 в 14:45.

  10. #69
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,180
    Спасибо Благодарностей отдано 
    263
    Спасибо Благодарностей получено 
    456
    Поблагодарили
    182 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    zx_, ну вот, я этот дешифратор и реализовал. После этого
    ППА доступен по адресам FF00-FFFF, а на F800-F8FF дублируется ПЗУ из области C800-C8FF
    А на SP580 не только без модуля подключить не получится, но даже и с этим модулем - распределение адресов портов другое, как я вижу, проще сделать на оригинальном Специалисте. Адреса ППА, обслуживающего клавиатуру и магнитофон, пересекаются с адресами контроллера РК НГМД.

  11. #70
    zx_
    Гость

    По умолчанию

    и как это сделать? только саму ДОС пересобирать под другие адреса?
    или аппаратно както можно
    Pyk,

Страница 7 из 14 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. PS/2 адаптер клавиатуры для Специалиста
    от fifan в разделе Специалист
    Ответов: 230
    Последнее: 27.07.2023, 10:03
  2. Ответов: 153
    Последнее: 16.12.2021, 19:07
  3. OriNET для Специалиста ?
    от SYR-ALEX в разделе Специалист
    Ответов: 22
    Последнее: 21.07.2017, 07:40
  4. Есть 3 кассеты для Специалиста...
    от Bolt в разделе Специалист
    Ответов: 60
    Последнее: 27.10.2013, 14:24
  5. Изучается спрос на плату для Специалиста
    от Павел Рябцов в разделе Барахолка (архив)
    Ответов: 109
    Последнее: 30.11.2010, 10:16

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •