User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 311

Тема: РАДИО-86РК на Z80

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

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

    По умолчанию

    Цитата Сообщение от Vladimir_s
    Покопался и чуток поправил в мониторе п/п F818. теперь большинство программ заработали, но не пашет DOS2.95.
    Кажется, единственное место где надо править, - это 'JPO' указанное BLADE. Я в своё время тоже с этим столкнулся, когда делал ROM-BIOS РК86 для эмулятора РК на ОРИОНЕ с Z80 и исправил это место. Написал "кажется", потому, что может быть есть ещё где-то непереностимость Z80, но я этого не знаю. Т.к для эмулятора РК на ОРИОНЕ использовал только стандартные подпрограммы, а командный монитор РК выкинул. Таким образом в стандарных подпрограммах других несовместимостей нет, но надо посмотреть все ли команды RAM-монитора работают.

    Поэтому править надо п/п-мму F809 (COUT_C), а не F818 (MSSG). При коррекциях и перетрансляциях можно произвольно менять код ПЗУ РК86, но некоторые внутренние точки двигать нельзя. Надеюсь Вы посмотрели в моём исходнике монитора РК86 те внутренние входные точки ПЗУ F800 РК86, которые необходимо сохранить для совместимости. На всякий случай привожу их.
    Код:
    .
    GETLIN	EQU	0F8EEH
    CMPDH 	EQU	0F990H
    CRHLBL	EQU	0FB78H		; Выводит ВК, вправо на 4 позиции и ADR_BL
    RIGHT4	EQU	0F9B0H		; Выводит ВК и вправо на 4 позиции
    GETPRM	EQU	0F92CH
    PUSK_VG	EQU	0FACEH
    Эти точки внутренние и теоретически не обязаны соблюдаться, но к сожалению среди программистов для РК86 нашлось несколько, грубо говоря идиотов, которые не послушались советов авторов РК86 и "лезли" во внутренние точки ПЗУ.

    Хотя идея выпустить платы РК86 на Z80 "накрылась" из-за отсутствия интереса у пользователей, но теперь я сам собираюсь починить свой РК86 и поставить туда Z80. Поэтому, на досуге странслировал ПЗУ F800 РК86 для Z80 сохраняющее все указанные внутренние точки. При этом заменой на JR-команды, без труда выиграно 110 байт. Однако пока не проверил на практике. Для начала можно проверить в виде версии для ОЗУ, чтобы не перезашивать ПЗУ.

    Привожу фрагмент, чтобы показать как я избавился от неверно используемой команды JPO. Заодно посмотрите на подпрограмму HEX_A (F815). В мониторе РК она дико неэффективна (впрочем, в ПЗУ всех остальных отечественных 8-ми разрядок эта п/п-мма лишь на байт эффективнее). Я применил самый эффективный алгоритм, отчего на 11 байтах выиграл целых 3 байта ! Изменения в ПЗУ заключаются в том, чтобы заменить команду JPO (см.там где точка с запятой закомментирует JPO).

    Скрытый текст


    Код:
    .
    HEX_A:	PUSH	AF
    	RRCA
    	RRCA
    	RRCA
    	RRCA
    	CALL	NIBBLE
    	POP	AF
    NIBBLE: AND	0FH
    	CP	10
    	CCF
    	ADC	A,30H
    	DAA
    
    COUT_A:	LD	C,A
    COUT_C:	PUSH    AF
    	PUSH	BC
    	PUSH	DE
    	PUSH	HL
    	CALL    STATUS
    
    	LD	HL,TOBACK
    	PUSH	HL
    
    	LD	HL,(POSX)
    	EX	DE,HL
    	LD	HL,(EK_ADR)
    
    	LD	A,(ESC_F)
    	DEC	A
    	JP	M,NO_ESC	; если нет ESC-флага
    	JR      Z,BYTE2		; если ещё не было второго байта 'Y' (1)
    ;	JP	PO,AFD73	; <------ !!!!!! если 3-тий байт
    	DEC	A
    	JR	Z,AFD73		; если 3-тий байт
    	LD	A,C		; четвёртый байт
    	SUB	20H
    	LD	C,A
    AFCDD:	DEC	C
    	JP      M,ESCRES	; СБРОС ESC_F И ВЫХОД
    	PUSH	BC
    	CALL	COD18		; на следующее знакоместо
    	POP	BC
    	JR	AFCDD
    
    ; ----------------------------------------------
    
    AFD73:	LD	A,C		; третий байт
    	SUB	20H
    	LD	C,A		; номер строки
    AFD77:	DEC	C
    	LD	A,4
    	JP	M,SETESC
    	PUSH	BC
    	CALL	COD1A		; на строку вниз
    	POP	BC
    	JR	AFD77
    
    ; ----------------------------------------------
    
    BYTE2:	LD	A,C
    	CP      'Y'
    	JR	NZ,ESCRES
    	CALL    HOME
    	LD	A,2             ; ПРИНЯТО 2 БАЙТА ESC,'Y'
    	JR	SETESC
    
    ; ----------------------------------------------
    
    COD27:	LD	A,1             ; НАЧАЛАСЬ ESC-ПОСЛЕД-СТЬ
    	JR	SETESC
    
    ; ----------------------------------------------
    
    ESCRES:	XOR	A
    SETESC:	LD	(ESC_F),A
    	RET
    .
    [свернуть]

    Кажется Вы выводите звук по INTE ?

    Т.к звук в программах РК86 задействован слабо и качество его никудышное, я лично не планирую возиться со звуком по EI/DI на выходе INTE, т.е делать аппаратный эмулятор звука по схеме ОРИОН-СЕРВИС. Я собираюсь иметь звук по 'OUT FF', т.к тогда проще всего переделывать звуковые программы РК86 для Z80.

    Меня интересует список игр, которые не работают на Z80, т.к мне надо адаптировать все игры РК86 для ИРИШИ, причём так, чтобы это работало как на КР580 так и на Z80.

    Цитата Сообщение от Vladimir_s
    Может кто копался на предмет работы DOS2.95 на процессоре Z80?
    Кроме меня никто этого не делал, а я это очень давно сделал. Там не только убрал команды вызывающие несовместимость с Z80, но и убрал работу с сигналом READY (готовность эмулируется из сигнала INDEX). Я ранее публиковал готовый листинг версии RK-DOS для Z80 в варианте для ОРИОНА.

    Чтобы это работало на РК86, надо сменить адреса размещения ДОС (на E000) и базы служебных ячеек (на 7600) и в одном месте вернуть команду инициализации ВГ75. Больше ничего менять не надо, т.к это чисто текстовая программа. Т.е надо изменить 2 цифры и вставить 2 строчки текста.

    Если ещё сами не сделали и не хотите этим заниматься, то мне не трудно это для Вас сделать (тем более самому это может пригодиться, если я найду исправный НГМД, контроллер есть, а исправного дисковода нет, все 6 сдохли). Но сначала надо странслировать для ОЗУ и всё проверить. И только, потом странслировать для ПЗУ и прошить. Глупо сразу прошивать ПЗУ. Т.е, если хотите, я Вам странслирую версию RK-DOS для работы из ОЗУ и когда Вы её проверите, то можно странслировать версию для прошивки в ПЗУ.

    Когда переделываете ROM-BIOS РК86 для Z80, не обязательно сразу прошивать его в ПЗУ. Гораздо разумнее сначала проверить работу новой версии ROM-BIOS в эмуляторе B2M. Для этого в конфигурационном файле РК86 достаточно указать, что процессор Z80.

    NB: Новая версия эмулятора B2M (декабрь 2016) при эмуляции РК86 - не может работать со старым каталогом 'Radio', т.е недостаточно скопировать файл EMU.EXE - надо брать весь новый архив целиком. Кроме того, благодаря эмулятору можно понять какие программы РК86 не работают с Z80. К сожалению, РК-КНГМД эмулятор B2M не эмулирует и проверить RK-DOS в эмуляторе нельзя.
    Последний раз редактировалось barsik; 10.01.2017 в 06:39.

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

  3. #2

    Регистрация
    10.06.2016
    Адрес
    г. Киев, Украина
    Сообщений
    87
    Спасибо Благодарностей отдано 
    30
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Читали ли Вы исходники Монитора в книге Miller, Alan 8080/Z80 Assembly Language, techniques for improved programming ?
    Последний раз редактировалось kolk; 10.01.2017 в 00:35.

  4. #3

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

    По умолчанию

    Цитата Сообщение от Kolk
    Читали ли Вы исходники Монитора в книге Miller, Alan 8080/Z80 Assembly Language, techniques for improved programming ?
    Как я мог это читать? Ведь когда я изучал ассемблер в конце 80-х Интернета не было. Но если Вы мне скинете ссылку, то охотно прочитаю. Вражеский язык не является проблемой. Но зачем такие наводящие вопросы, ответы на которые ясны? Проще сразу написать в чём суть, чтобы не тратить трафик (у меня не безлимитный Интернет).
    Последний раз редактировалось barsik; 10.01.2017 в 00:56.

  5. #4

    Регистрация
    10.06.2016
    Адрес
    г. Киев, Украина
    Сообщений
    87
    Спасибо Благодарностей отдано 
    30
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я вообще-то имел в виду сейчас. В Киеве я читал ее в 1988 в бумажном виде. И в последующих правках Монитора применял. В поиске Google качается с archive.org https://archive.org/download/8080_an..._and_Sons.djvu или https://archive.org/download/8080_an...y_and_Sons.pdf

    А суть в обсуждаемом hexprint, я его оттуда брал. Поэтому и спросил. Скорее всего, этот вариант ходячий, и мог быть найден в другом месте или переизобретен. А вообще, Монитор РК сильно ужимается выносом в подпрограммы дублирующего кода и повальным IN/OUT (к сожалению, непригодно для Z80).
    Последний раз редактировалось kolk; 10.01.2017 в 01:21.

  6. #5

    Регистрация
    05.04.2013
    Адрес
    Починки, Нижегородская обл.
    Сообщений
    1,376
    Спасибо Благодарностей отдано 
    407
    Спасибо Благодарностей получено 
    650
    Поблагодарили
    256 сообщений
    Mentioned
    27 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    barsik, а что именно не должно было работать в RK-DOS на Z80?
    Попробовал в текущей разрабатываемой версии своего эмулятора эту комбинацию - на первый взгляд все ок...

  7. #6

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

    По умолчанию

    Цитата Сообщение от Pyk
    Попробовал в текущей разрабатываемой версии своего эмулятора эту комбинацию и на первый взгляд - всё OK.
    Вы имеете ввиду RK-DOS? Именно ту, перетранслированную для Z80 из файла "RKDOS_for_TEST.RAR", что я выложил для проверки в реале? У меня вообще-то нет особых причин думать, что они нерабочие, т.к я получил их, - одну "кромсанием" рабочего исходника RK-DOS для ОРИОНА, а вторую косметическими изменениями в оригинальной РК-ДОС для КР580. Но т.к обе версии не проверялись в реале и при переделках почти всегда возникают ошибки и с первой попытки обычно ничего не работает, то я и предложил их проверить в реале тому, у кого есть Z80 процессор в РК86 и стандартный РК-КНГМД по адресу F000. Так что конкретных ошибок я указать не могу. Если они есть, их надо определить при проверке в реале или хотя-бы в эмуляторе.

    Из текста сообщения понял, что Вы проверили эти коды в эмуляторе, который эмулирует и РК-ДОС и процессор Z80. О существовании такого эмулятора ничего никому ещё не известно. Не сообщите ли подробности о новой версии своего эмулятора EMU80 для Z80? Если действительно сделана эмуляция железа РК-КНГМД, то это удобно, чтобы проверять ДОС на базе дисковода. А вот Z80 в РК86 это пока не актуально.

    Цитата Сообщение от B2M
    Следующая строка поможет иметь экран выше 8000
    Код:
    dma : K580wt57 {
      mem=mm
    }
    Эта строка не помогла, хотя появились отличия. Если при 'mem1' вообще ничего на экране не было, то теперь кое-что на экране есть. Но удивляет, что выводится только часть символов.

    Теперь снова про глюк в работе отладчика из ОЗУ 8400...BFFF и тот же самый глюк при работе отладчика из ПЗУ E000. Этот глюк не связан со стеком, т.к одинаков при стеке - в основном ОЗУ и в ОЗУ выше 8000.

    Как с конфигом, где основное ОЗУ совмещено с помощью 'frame' с ОЗУ окна 8400, так и с конфигом, где эти ОЗУ (mem1 и mem8400) - разные, отладчик ведёт себя так, как я и описывал, - не удаляет RST в основном ОЗУ.

    Но если закомментировать одну строку так

    // map[0][F100-F1FF]=DOPPPA.data

    то отладчик в верхних адресах работает отлично, но естественно коммутации ОЗУ в окне 8400...BFFF - нет, хотя само ОЗУ в области 8400...BFFF - есть. Таким образом, всё портит коммутация кусков памяти в окне.

    Таким образом отладчик может работать в ОЗУ выше 8000 только, если нет коммутации, а значит ОЗУ в эмуляторе B2M можно расширить только лишь на 15 кб... Я не понимаю сути явления, т.к другие программы, кроме отладчика, похоже, работают из старших адресов. И виноват в этом именно эмулятор, т.к, как указано выше, тот же самый код работает отлично, если убрать коммутацию ОЗУ. Причём и отладчик на E000 (т.е якобы в ПЗУ) ведёт себя точно так же, хотя там ОЗУ не коммутируется.

    Цитата Сообщение от B2M
    Открою секрет: файл, из которого происходит ввод, не закрывается сразу после возврата из перехвата, а только через 5 секунд.
    Я не мог знать насчёт паузы в 5 секунд между вводами по I? Ведь документации нет. Это объяснило почему дефект возникал не всегда. И то, что выполнение какой-то промежуточной команды перед второй директивой I помогало избавиться от дефекта. И это явный глюк эмулятора, а не особенность. Если пользователь страдает, то это всегда глюк. Если произошёл "отлов" прогона входа RDBYTE, чётко указанного в конфиге, то уж сам Бог велел при этом закрыть все файлы. И ссылки на паузу в 5 секунд и ожидание продолжения ввода предыдущего блока, после входа в RDBYTE - неуместны.

    Зачем ждать 5 секунд. Достаточно тайм-аута в пол секунды. И это не объясняет откуда берётся старший байт адреса следующего блока равный FF. Предположительно это байт КС предыдущего блока. FF потому, что для неокончательных файлов я не устанавливаю правильную КС, - это ни к чему, если файл ещё изменится 20 раз. Но не важно по каким причинам искажается адрес ввода. В любом случае эмулятор не должен вводить блок в адреса выше C000. Так что с тем, что это глюк спорить невозможно. Но это нормально, все программы содержат ошибки.

    Синхронизация должна происходить по байту E6. Это лишний раз доказывает, что формат 'GAM' лучше, чем надуманный формат 'RK', т.к в нём есть байт синхронизации E6. Но эмулятор B2M правильно считывает и файлы с расширением RK. И даже вообще любые файлы с произвольным расширением. Он просто считает первые 4 байта как адреса ввода. А если первый байт E6, то его игнорирует. Вследствие этого, по директиве I файл в формате RK в эмулятор B2M нельзя ввести на адреса E600...E6FF. А вот в формате GAM - можно.

    Цитата Сообщение от B2M
    Но вообще-то, если файл дочитался до конца, он должен был закрыться сразу. Возможно, во вводимом файле в конце были лишние байты.
    Лишние байты есть всегда. Файлы записанные в CP/M имеют кратность 128 байт. Поэтому после трансляции очень редко появляется GAM-файл у которого длина чётко равна длине блока плюс служебные байты в начале и конце блока. Точнее это может случиться только с вероятностью 1/128-мая, т.е на практике почти никогда.

    И кстати, раз уж речь о вводе файлов. А что насчёт ввода других форматов? В частности ORD. Ведь как-то Вы вводите при эмуляции СПЕЦИАЛИСТА и ОРИОНА другие МГ-форматы, кроме формата МИКРО-80 и РК86. Точнее, - задача вводить файлы не с магнитофона, а с винчестера. Это же проще, чем эмулировать ввод с магнитофона.

    Когда я делал эмулятор РК86, то сразу решил не "заморачиваться" с магнитофоном. Ввёл в сам эмулятор функцию загрузки файла. А уж какой он, в каком формате этот файл, это эмулятор не волнует. Эмулятор получает от КР580-программы имя файла, адрес загрузки и максимально допустимый размер файла и просто грузит файл с винчестера. Аналогично при записи. Но самое трагичное, что ориентация на магнитофон и низкоуровневую эмуляцию железа, а не на файлы на винчестере, лишает возможности тестировать в эмуляторе ДОС. А особенно, когда даже низкоуровневой эмуляции РК-КНГМД нет. Хоть какой-то выход из этого - это эмуляция большого ОЗУ, используемого в качестве эл.диска.

    У меня файлы для всех БК (в том числе РК86) - в формате ORD и этот формат понимает мой эмулятор РК86. Очень неудобно транслировать все программы в двух видах - и в виде GAM и в виде ORD. Формат ORD удобен тем, что он годится и для МГ-ленты (или WAV-файла) и для дискового файла. Форматы RK и GAM при выгрузке на ленту теряют имена файлов.

    Я не представляю, как загрузить в эмулятор B2M файл в формате ORD. Ещё большее неудобство возникает при вводе файлов в ИРИШУ. Потому-что там формат записи на МГ не содержит ни адреса загрузки, ни длины файла. Поэтому приходится помнить эти данные или хранить их на бумажке. Я с этим намучился ещё на реальной ИРИШЕ (потерял из-за этого кучу файлов). И был дико удивлён, когда обнаружил такую-же ерунду и в эмуляторе. Здесь задача ввода ORD-файлов, на порядок более актуальна.

    Цитата Сообщение от B2M
    Отладчик есть, и если научиться им пользоваться, то проблем не возникает.
    Я пользовался экранными отладчиками 80x86. Отладчиком эмулятора B2M пользоваться неудобно. Почему пользователь экспериментальным путём должен устанавливать, что делают команды отладчика, приведённые в HELP-е? HELP должен быть исчерпывающе понятным.

    В отладчиках должна быть команда PASS для прохождения подпрограмм без трассировки. В отладчике ИРИШИ из 1977 года нажимаешь P на команде CALL или RST и она прогоняется, как одна команда ассемблера. И кстати, о якобы ущербности командного режима относительно графического представления отладчика. Видя фрагмент кода и зная, где надо остановиться, на порядок быстрее ввести команду 'G,xxxx', чем подгонять курсор куда-то, ставить там стоп-точку и затем нажимать на <F5>. А если стоп точка вообще не на экране, то переход к ней отнимает ещё больше времени.

    Видел отладчики которые показывают дамп ОЗУ, куда указывает текущий HL. Удобно если в отладчике работают символьные клавиши, а не только функциональные и мышь. Например, по P,S,A,B,D,H может выскакивать окно для HEX-ввода регистров. По нажатию I,C,Z,E... могут переключаться на обратный флаги. По нажатию только одной клавиши курсор должен перескакивать в нужное окно. В визуальном отладчике тоже удобно иметь команды.

    У программирующих для 8080/Z80 не бывает листинга LST, это же не MASM или TASM для 80x86. У них бывает только файл с расширением PRN, где тоже есть таблица меток.

    Почему запрашиваются HEX-числа с СИ-префиксом '0x'? По нажатию клавиши окно очищается, в том числе и префикс. Просто HEX-число, без префикса не вводится. Приходится вручную вводить ещё и префикс 0x, что раздражает. Если уж окно очищается, то префикс '0x' следовало оставить, чтобы пользователю не пришлось вводить его вручную. А если уж необходима подсказка, что ожидается HEX-число, то это можно сделать в заголовке окна.

    Да и странно ожидать что-то другое кроме HEX-чисел, мы же в отладчике, не в бейсике. Всё должно быть для удобства пользователя.
    Последний раз редактировалось barsik; 22.01.2017 в 05:06.

  8. #7

    Регистрация
    12.12.2011
    Адрес
    г. Иркутск
    Сообщений
    2,509
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Поэтому править надо п/п-мму F809 (COUT_C), а не F818
    Оно в конечном итоге так и есть. Я в оболочке своего FDOSa прятал курсор так - записывал в последнюю доступную для монитора ячейку код 8F (черные символы на черном фоне), а потом с помощью директивы F818 (1BH,59H,38H,5EH,0) помещал туда курсор, который становится совершенно невидимым. Так вот с Z80 курсор хаотично прыгал по левому краю экрана. Ошибку я начал искать естественно с F818, где переход на п/п вывода символа с аккумулятора, ну и F809.

    Цитата Сообщение от barsik Посмотреть сообщение
    Кажется Вы выводите звук по INTE ?
    Нет, у меня стоит ВИ53. И прекрасно выводит звук.

    Цитата Сообщение от barsik Посмотреть сообщение
    сли ещё сами не сделали и не хотите этим заниматься, то мне не трудно это для Вас сделать
    Я думаю это многим будет полезно. Так что заранее благодарен.

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

    И да - в этих же адресах то же самое нужно править в Апогее.

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

    Цитата Сообщение от barsik Посмотреть сообщение
    Т.е, если хотите, я Вам странслирую версию RK-DOS для работы из ОЗУ и когда Вы её проверите, то можно странслировать версию для прошивки в ПЗУ.
    В каких адресах?

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

    Цитата Сообщение от barsik Посмотреть сообщение
    я лично не планирую возиться со звуком по EI/DI на выходе INTE
    У меня на плате предусмотрена возможность включения как ВМ85, так и Z80. И на них нет вывода INTE.
    Последний раз редактировалось Vladimir_S; 10.01.2017 в 04:54.

  9. #8

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

    По умолчанию

    Привожу перетранслированный для Z80 ROM-BIOS РК86. Здесь более 120 свободных ячеек. Сам код почти оригинал. Если выкинуть из монитора никому ненужные зачатки отладчика, то освободится еще 20-30 байтов. Если флаг ORIG поставить =0, то курсор большой. Но проверить это можно только в реале, т.к эмулятор B2M не точно эмулирует вывод курсора. Данная версия не проверена в реале, а только в эмуляторе B2M с config-файлом РК86 изменённым для Z80.

    Цитата Сообщение от Vladimir_S
    У меня на плате предусмотрена возможность включения как ВМ85, так и Z80. И на них нет вывода INTE.
    Речь шла о схеме ловушке, которая используя сигнал /M1 и биты данных, отлавливает команлы EI и DI, соответственно выставляя триггер. Эта схема входила в вариант установки Z80 на ОРИОН от МП ОРИОН-СЕРВИС, позволяя слышать INTE звук на Z80.

    Цитата Сообщение от Vladimir_S
    Цитата Сообщение от barsik
    можно странслировать версию RK-DOS для работы из ОЗУ и после её проверки, можно странслировать версию для прошивки в ПЗУ.
    В каких адресах?
    Странный вопрос. Странслировать можно для любого адреса. Изменить цифру в тексте не проблема. Но для совместимости с программами для RK-DOS РК86 ничего изменить нельзя - совместима будет только RK-DOS на E000 (в ПЗУ) с рабочими ячейками ДОС в области 7600H. А для проверки дискетных подпрограмм - годится любой адрес в ОЗУ (например 6000), переделывать внешние SYS-команды для проверки не требуется, т.к команды SAVE, LOAD внутренние.
    Последний раз редактировалось barsik; 15.01.2017 в 01:52.

  10. #9

    Регистрация
    12.12.2011
    Адрес
    г. Иркутск
    Сообщений
    2,509
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    позволяя слышать INTE звук на Z80.
    Вложения
    Делал я такое - полное г.

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

    barsik, Монитор оттранслировал,сам он работает, но на нем не стартует мой FDOS, а на нем весь нужный мне софт.

  11. #10

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

    По умолчанию

    Цитата Сообщение от Vladimir_S
    Делал я аппаратный эмулятор INTE для Z80 - это полное Г.
    Вообще-то РК86 и не может выводить чистые тона, только хриплые. Так как каждые 64 МКСЕК ПДП рвёт вывод звука на 45 МКСЕК. Чтобы программно вывести чистый тон на РК86 надо остановить ПДП (экран погаснет) и регенерировать динамические ОЗУ программно. А вот на ОРИОНЕ аппаратный эмулятор INTE для Z80 работал отлично, выдавая чистые тона.

    Цитата Сообщение от Vladimir_S
    Предложенный ROM-BIOS для Z80 сам работает, но на нем не стартует мой FDOS, отчего не загрузить весь нужный мне софт.
    Возможно, что я сделал фатальную ошибку при замене на JR-команды. Но изменений в коде я не делал, лишь заменял на JR и переносил куски кода, так что вероятность этого не очень велика.

    Хотелось бы знать подробности о Вашей ДОС, какое железо, принцип работы и используемые подпрограммы ПЗУ. Используются ли п/п-ммы работы с МГ-лентой?

    Не могу проверить ROM-BIOS для Z80 в реале (нет такого железа), а в своём эмуляторе РК86 на ОРИОНЕ проверить ROM-BIOS нельзя, т.к он эмулирует КР580 и не допускает использования произвольного кода ПЗУ F800. В эмуляторе B2M даже с конфигом для Z80 также проверить нельзя. Т.к директивы загрузки не работают и программы для проверки не загрузить. Потому что эмулятор B2M жёстко привязан к коду базового ПЗУ F800. Если подпрограммы RDBYTE (FB98) или WRBYTE (FC46) сдвинуть хотя бы на один байт, то при старте директив I или O произойдёт улёт. Причём нельзя сдвигать не только эти входы, но и ещё какие-то другие (долго выяснять какие именно).
    Последний раз редактировалось barsik; 15.01.2017 в 01:45.

Страница 1 из 2 12 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Радио-86РК: Видеовыход
    от m.d. в разделе Радио-86РК
    Ответов: 13
    Последнее: 21.05.2015, 08:19
  2. Радио-86РК: По страницам журнала "Радио"
    от Viktor2312 в разделе Радио-86РК
    Ответов: 79
    Последнее: 13.02.2014, 08:34
  3. эмулятор радио-86рк
    от sergey2b в разделе Эмуляторы отечественных компьютеров
    Ответов: 4
    Последнее: 09.06.2011, 15:59
  4. Радио 86РК
    от Shnurkov в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 02.01.2009, 12:52

Ваши права

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