RUЭВМ
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.
Декабрь 2024
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
3031     

Календарь Календарь

Последние темы
» Вити больше нет!
автор bug19 Пн Фев 20 2023, 19:54

» Собираем оригинальный Орион 128
автор bug19 Пн Фев 20 2023, 19:47

» Проблема плющеного экрана ОРИОНА
автор kanzler Пн Ноя 28 2022, 12:05

» Орион 128 и его клоны возрождение 2019-2022 год
автор kanzler Пн Ноя 28 2022, 12:03

» Электроника КР-04. Информация, документы, фото.
автор kanzler Пн Ноя 28 2022, 12:02

» Новости форума
автор kanzler Пн Ноя 28 2022, 11:52

» Орион-128 НГМД запуск 2021 года
автор matrixplus Сб Сен 10 2022, 17:36

» ПЗУ F800 для РК86
автор ведущий_специалист Сб Сен 10 2022, 10:37

» Микропроцессорная лаборатория "Микролаб К580ИК80", УМК-80, УМПК-80 и др.
автор Электротехник Вт Июл 26 2022, 19:33

» Орион-128 SD карта в Орионе
автор matrixplus Чт Июн 02 2022, 09:00

» 7 Мая. День Радио!
автор Viktor2312 Чт Май 12 2022, 10:58

» Серия: Массовая радио библиотека. МРБ
автор Viktor2312 Ср Май 11 2022, 12:17

» Полезные книги
автор Viktor2312 Пн Май 09 2022, 15:07

» Орион 128 Стандарты портов и системной шины Х2
автор matrixplus Вс Май 08 2022, 23:08

» Орион-128 и Орион ПРО еще раз про блоки питания
автор matrixplus Вс Май 08 2022, 19:09

» Орион-128 Программаторы
автор matrixplus Вс Май 08 2022, 19:02

» Орион ПРО история сборки 2021 до 2022
автор matrixplus Вс Май 08 2022, 18:47

» Анонсы монет (New coin).
автор Viktor2312 Сб Май 07 2022, 23:11

» Хочу свой усилок для квартиры собрать не спеша
автор Viktor2312 Сб Май 07 2022, 19:33

» Амфитон 25у-002С
автор Viktor2312 Сб Май 07 2022, 09:38

» Майнер: T-Rex
автор Viktor2312 Вс Май 01 2022, 09:12

» GoWin. Изучение документации. SUG100-2.6E_Gowin Software User Guide. Среда разработки EDA.
автор Viktor2312 Пн Апр 25 2022, 01:01

» GoWin. Изучение документации. UG286-1.9.1E Gowin Clock User Guide.
автор Viktor2312 Сб Апр 23 2022, 18:22

» GoWin. Documentation Database. Device. GW2A.
автор Viktor2312 Ср Апр 20 2022, 14:08

» GOWIN AEC IP
автор Viktor2312 Ср Апр 20 2022, 12:08

Самые активные пользователи за месяц
Нет пользователей

Поиск
 
 

Результаты :
 


Rechercher Расширенный поиск


Эмулятор радио 86рк

Перейти вниз

Эмулятор радио 86рк  Empty Эмулятор радио 86рк

Сообщение  san010101 Чт Янв 24 2019, 10:35

1
Всем привет.
Подскажите существует для Радио 86рк эмулятор
с загрузкой файлов через магнитофон т. е.
что бы подключить на вход компьютера магнитофон и загрузить или записать файл с эмулятора Радио 86рк.

san010101
Новичок

Сообщения : 41
Дата регистрации : 2018-07-24
Откуда : Красноярск

Вернуться к началу Перейти вниз

Эмулятор радио 86рк  Empty .

Сообщение  barsik Чт Янв 24 2019, 11:39

2
Эмуляторов РК, думаю, существует ~десяток, даже есть (пригодный лишь чисто для текста, не для игр), мой убогий эмулятор РК. Например, до 2015 я пользовался эмулятором А.Демина из 1999 (он оказался в 100 раз быстрее эмулятора В.Пыхонина, т.к был написан на ассемблере, а других эмуляторов просто не было).

Если у Вас 486-тая или Пентиум до 2004 года, то и сейчас ничего лучше ранних эмуляторов Дёмина Вы не найдёте, т.к современные эмуляторы написаны на новых тормозных ЯВУ и совсем не работают на более ранних машинах. Например, я пробовал 750 МГЦ Celeron из 2002, на нём на пределе идёт EMU, а EMU80 почти висит.

Как всем известно, сейчас для PC наиболее полноценными, т.е с почти полной эмуляцией ВГ75 и приближенными к реалу времянками, являются только два эмулятора - EMU от b2m и EMU80 от pyk. Но, как мне кажется, хотя я иногда пользуюсь лишь старыми их версиями более, чем годовой давности (а в новых версиях может что-то улучшено), в них тоже нет прямой работы с магнитофоном через Audio вход.

Хотя, на мой дилетантский взгляд, раз они сделали отдельные читалки/писалки РК-формата с ленты через Audio-вход, то вероятно нет преград, чтобы читать звуковые записи с ленты в двухфазной кодировке напрямую в эмулятор.

Но оба эмулятора умеют читать из звуковых файлов. Так что нет препятствий, чтобы грузить с ленты в два этапа. Сначала, через Audio вход оцифровываете МГ-запись на ленте. Только не в MP3 и не в OGG, а обязательно в WAV-формат. Обычно даже на реал MP3/OGG грузятся только, если частота дискретизации высокая (выше 32 КГЦ, лучше 44 КГЦ).

Отчего, кстати, предвижу проблемы при использовании для загрузки цифрового диктофона в телефоне (сам я не пробовал грузить с телефона, хотя читал на nedoPC.org, что это получалось, но сомневаюсь, т.к диктофон создаёт хорошо сжатые записи и скорее всего с низкой частотой дискретизации).

А затем полученный WAV-файл грузите в эмулятор и если надо, сохраняете его в виде кодов, т.е RKR-файлом.


Последний раз редактировалось: barsik (Чт Янв 24 2019, 11:55), всего редактировалось 1 раз(а)
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия, СПб

Вернуться к началу Перейти вниз

Эмулятор радио 86рк  Empty Re: Эмулятор радио 86рк

Сообщение  alemorf Чт Янв 24 2019, 11:54

3
san010101 пишет:Всем привет.
Подскажите существует для Радио 86рк эмулятор
с загрузкой файлов через магнитофон т. е.
что бы подключить на вход компьютера магнитофон и загрузить или записать файл с эмулятора Радио 86рк.

Сначала записываете звук с кассеты в WAV файл. А затем его загружаете в лучший эмулятор:

http://bashkiria-2m.narod.ru/files/emu.rar

Преобразовать двоичный файл в WAV проще отдельной программой. Вот ссылка.

http://alemorf.ru/comps/alpha_bk/doc/%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE_86%D0%A0%D0%9A_rom2wav_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8F_2.7z

alemorf
Мастер

Сообщения : 232
Дата регистрации : 2018-12-17

http://alemorf.ru/

Вернуться к началу Перейти вниз

Эмулятор радио 86рк  Empty Re: Эмулятор радио 86рк

Сообщение  san010101 Чт Янв 24 2019, 12:51

4
Тренеруюсь в программирование для stm32, сделан проигрыватель файлов tap, tzx для zx spectrum. При этом мне помогал эмулятор для проверки загрузки. Хотел тоже самое сделать для Радио 86рк, но нужен эмулятор с реальной загрузкой. Так как не всегда есть возможность в доступе к реальному радио 86рк. Да и для проверки записи так же пригодится.
Видео с примерами для zx spectrum

https://youtu.be/Tvg1SUaCBxs

https://youtu.be/lbvZqNBj6CM

https://youtu.be/Qi37Imy5Sy0

san010101
Новичок

Сообщения : 41
Дата регистрации : 2018-07-24
Откуда : Красноярск

Вернуться к началу Перейти вниз

Эмулятор радио 86рк  Empty Re: Эмулятор радио 86рк

Сообщение  alemorf Чт Янв 24 2019, 15:48

5
san010101 пишет:Тренеруюсь в программирование для stm32, сделан проигрыватель файлов tap, tzx для zx spectrum. При этом мне помогал эмулятор для проверки загрузки. Хотел тоже самое сделать для Радио 86рк, но нужен эмулятор с реальной загрузкой. Так как не всегда есть возможность в доступе к реальному радио 86рк. Да и для проверки записи так же пригодится.
Видео с примерами для zx spectrum

https://youtu.be/Tvg1SUaCBxs

https://youtu.be/lbvZqNBj6CM

https://youtu.be/Qi37Imy5Sy0

Эмулятор магнитофона это хорошо. Это позволяет работать со всеми программами без переделки.

alemorf
Мастер

Сообщения : 232
Дата регистрации : 2018-12-17

http://alemorf.ru/

Вернуться к началу Перейти вниз

Эмулятор радио 86рк  Empty Re: Эмулятор радио 86рк

Сообщение  parsec Вт Май 21 2019, 21:08

6
barsik пишет:

Но оба эмулятора умеют читать из звуковых файлов. Так что нет препятствий, чтобы грузить с ленты в два этапа. Сначала, через Audio вход оцифровываете МГ-запись на ленте. Только не в MP3 и не в OGG, а обязательно в WAV-формат. Обычно даже на реал MP3/OGG грузятся только, если частота дискретизации высокая (выше 32 КГЦ, лучше 44 КГЦ).

Отчего, кстати, предвижу проблемы при использовании для загрузки цифрового диктофона в телефоне (сам я не пробовал грузить с телефона, хотя читал на nedoPC.org, что это получалось, но сомневаюсь, т.к диктофон создаёт хорошо сжатые записи и скорее всего с низкой частотой дискретизации).


Использую реальный клон РК-86 (Спектр-001 завода УВМ) вместе с цифровым плеером Creative Zen Nano Plus 1Gb. Сделал переходник с джеков на старый 5-ти контактный разъём.Эмулятор радио 86рк  Img_2011
В MP3 перевожу Wav c помощью FormatFactory, Wav-ки перевожу и из rkr, и беру готовые. Проблем с загрузкой не возникало, только приходилось регулировать громкость. Выгружаю программы с компьютера на тот же плеер, он может писать в MP3.

parsec
Новичок

Сообщения : 3
Дата регистрации : 2019-05-05

Вернуться к началу Перейти вниз

Эмулятор радио 86рк  Empty .

Сообщение  barsik Вт Май 21 2019, 23:11

7
parsec пишет: с цифровым плеером Creative Zen Nano
То, что цифровые плееры можно использовать в качестве магнитофона для ввода программ в ретро компьютер, в общем-то, сразу было понятно. Т.к они предназначены для записи/воспроизведения высококачественной музыки в интервале частот 20...20. Я писал про проблематичность использования режима диктофона в мобильном телефоне.

Они, мобильные телефоны, особенно старенькие с датой разработки 2012, а то и ещё более старые, не предназначены для записи с микрофона в Hi-Fi качестве. Я предполагаю, что они оцифровывают с частотой дискретизации не более 12...16 КГЦ, что по теореме Котельникова соответствует аналоговому магнитофону с полосой 6...8 КГЦ, т.е типовому советскому аппарату IV-класса с слегка запиленной головкой. Они специально пишут максимально некачественно, зато максимально компактно, чтобы запись можно было послать MMS-сообщением и памяти для записей телефонных разговоров хватило надолго.

Потому режим и назвали диктофоном, а не магнитофоном. Даже в аналоговых диктофонах с микрокассетой скорость МГ-ленты всего 2.4 или даже 1.2 м/сек, а полоса не выше 4...5 КГЦ. Для записи речи большего качества и не требуется, да и крошечный микрофон с которого в аналоговый диктофон или в мобильный телефон в режиме диктофона производится ввод при записи вряд-ли пропускает полосу выше 10 КГЦ. И в старых телефонах даже нет настроек качества записываемого звука.

Записи с микрофона сделанные мобильным телефоном маленькие по объёму и потому из этих соображений я и сомневался, что мобильный телефон будет хорошо работать в качестве магнитофона для ЗАПИСИ. А вот для воспроизведения сделанных в другом месте WAV-записей телефоны должны подойти без проблем, т.к воспроизводить они уже должны качественную Hi-Fi стерео музыку и УКВ ЧМ-радио с полосой 20...20.

На основе моего знакомства с телефонами, старые телефоны с датой разработки 2010 и ранее, даже не воспроизводят WAV (только MP3), т.к у них обычно основной памяти всего 1 Гб (или меньше) и ограничение на объём microSD до 2 Гб, и WAV быстро истратит память. А более поздние по дате разработки телефоны уже воспроизводят и WAV и MP3. В современных телефонах с большим сенсорным экраном с диагональю в 12 см и ценой от 7 тысяч рублей уже нет необходимости экономить память, там основная память 16 Гб и пользовательское microSD в 128 Гб и более.

В моём телефоне Samsung Galaxy SM-G531 в меню настроек диктофона можно выбрать в пункте "качество звука" - высокое или обычное. Но не указывается какова частота дискретизации, а запись производится в файл с расширением M4A, который якобы при том же качестве, что и MP3 имеет файлы меньшего размера. Причём, чтобы конвертировать такой формат в MP3 надо покупать платный конвертор. Т.о с записью вопрос пока неясный, а вот с воспроизведением МГ-программ проблем даже со старым телефоном не должно быть, т.к можно воспроизводить MP3 записанные на 44 КГЦ 16 бит моно, а если будут проблемы, то и WAV.

А ещё, если Ваш аппарат записывает/воспроизводит полосу 20...20, то можно поднять скорость ввода с магнитофона раза в 2...4. В оригинале скорость ввода в РК была всего ~150 байт в секунду. Даже с незапиленным магнитофоном IV-класса константы ввода/вывода можно было уменьшать, без образования проблем ускоряя ввод, в 1.5...2 раза. В ОРИОНЕ скорость МГ-записи стандартно подняли на ~20%. А для некоторых компьютеров делали доработки до Турбо-формата, который ускорял ввод в 20 раз, но требовал какой-то доп.аппаратуры.

Т.к в ПЗУ РК нет автонастройки на скорость МГ-ввода, то если ускоренный в 2...4 раза МГ-ввод у Вас заработает, то лучше всего перепрошить 2 байта в ПЗУ РК86, чтобы не подставлять константы в соотв.ячейки каждый раз вручную. Какой смысл тратить время на долгое ожидание ввода и впустую транжирить память плеера ?

Если Вы поэкспериментируете с вводом/выводом при меньших константах, всем читателям будет интересно узнать результат. Уменьшаете константу вывода до тех пор пока чтение проходит без ошибок. Константу чтения каждый раз высчитываете с помощью знания арифметики. Константа чтения должна быть ровно в полтора раза больше.
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия, СПб

Вернуться к началу Перейти вниз

Эмулятор радио 86рк  Empty Re: Эмулятор радио 86рк

Сообщение  parsec Ср Май 22 2019, 18:44

8
barsik пишет:
В моём телефоне Samsung Galaxy SM-G531 в меню настроек диктофона можно выбрать в пункте "качество звука" - высокое или обычное. Но не указывается какова частота дискретизации, а запись производится в файл с расширением M4A, который якобы при том же качестве, что и MP3 имеет файлы меньшего размера. Причём, чтобы конвертировать такой формат в MP3 надо покупать платный конвертор.
FormatFactory - это программа, вроде как, графическая надстройка над ffmpeg (ffshow?). МР4 там есть. Я собирал консольные приложения ffmpeg и поначалу ими пользовался, потом обленился...
barsik пишет:
А ещё, если Ваш аппарат записывает/воспроизводит полосу 20...20, то можно поднять скорость ввода с магнитофона раза в 2...4. В оригинале скорость ввода в РК была всего ~150 байт в секунду. Даже с незапиленным магнитофоном IV-класса константы ввода/вывода можно было уменьшать, без образования проблем ускоряя ввод, в 1.5...2 раза. В ОРИОНЕ скорость МГ-записи стандартно подняли на ~20%. А для некоторых компьютеров делали доработки до Турбо-формата, который ускорял ввод в 20 раз, но требовал какой-то доп.аппаратуры.
На заводе УВМ делали ещё ZX совместимый "Радуга-001". У знакомого стояли "турбо ПЗУ". Программы можно было грузить на ускоренной перемотке, и они даже работали. Выгрузка была, вроде, нормальная, хотя нас тогда это вообще не заботило. Через его брата мне достали такие ПЗУ, но где они сейчас даже не вспомню. Саму ту "Радугу" продали, может, она даже и сейчас ещё цела. Можно уточнить и снять дампы. Про "Радугу" как-то слабовато с документацией. В основном на ремонт попадали "Пентагоны", "Ленинграды", какие-то на Т34-ВГ1. "Радуга" же была с двумя полями памяти, и, может даже, "вейтовая".
barsik пишет:
Т.к в ПЗУ РК нет автонастройки на скорость МГ-ввода, то если ускоренный в 2...4 раза МГ-ввод у Вас заработает, то лучше всего перепрошить 2 байта в ПЗУ РК86, чтобы не подставлять константы в соотв.ячейки каждый раз вручную. Какой смысл тратить время на долгое ожидание ввода и впустую транжирить память плеера ?
Разбирать комп лениво. Я как-то давно ремонтировал БЦУ на СМ6337 (тоже продукция завода УВМ), так не было ГФ24, выпаял из компа. Потом восстановил, долго не пользовался. А тут забрал, какие-то глюки выскакивать стали... В общем, пропаял перестало глючить, а так пока не стукнешь.
Монитор РК-86 я в IDA разбирал, есть над чем поработать.
Программатор был на "Пентагоне", потом я его к РС через LPT адаптировал, когда "Орион" Ливенский восстанавливал.
barsik пишет:
Если Вы поэкспериментируете с вводом/выводом при меньших константах, всем читателям будет интересно узнать результат. Уменьшаете константу вывода до тех пор пока чтение проходит без ошибок. Константу чтения каждый раз высчитываете с помощью знания арифметики. Константа чтения должна быть ровно в полтора раза больше.
Как-то и не задумывался даже. Привык к хорошему. Спасибо за наводку, поэкспериментирую - обязательно отпишусь.

parsec
Новичок

Сообщения : 3
Дата регистрации : 2019-05-05

Вернуться к началу Перейти вниз

Эмулятор радио 86рк  Empty Re: Эмулятор радио 86рк

Сообщение  parsec Вс Июн 02 2019, 19:49

9
Что то комп начал подглючивать, проявлялось в неустойчивости изображения, зависонах. Думал уже что придётся серьёзно ремонтировать. Обошлось малой кровью, заменил процессор в пластмассе ВМ80А на керамику ВМ80, стресс-тесты, оставленные на ночь, вроде ошибок не обнаружили. Буду посмотреть дальше.
parsec пишет:
Как-то и не задумывался даже. Привык к хорошему. Спасибо за наводку, поэкспериментирую - обязательно отпишусь.
Эксперименты показали неустойчивость считывания информации с плеера, записанной им же. Кодировать в МП3 он может с тремя битрейтами 96, 128, 160 и имеет режим SYNC (писать только когда есть сигнал). Проблемы со считыванием обнаружились случайно.
Пробовал заполнять память нулями, единицами, записывать и считывать. Не всегда сходилась контрольная сумма. При чём наилучшее считывание происходило при записи на 96. Регулировкой громкости удавалось улучшить считывание, но это не имело устойчивый характер.
Выход с плеера подключил к РС и в CoolEdit'e проанализировал сонограммы, спектрограммы и фазовые диаграммы. Пришёл к выводу о наличии высокочастотных всплесков, что в принципе подтверждалось более устойчивым считыванием на низком битрейте.
Встроенным эквалайзером пытался выровнять, вытянуть сигнал - результат не очень хороший.
Изменением уровня громкости результативность чтения улучшалась, но как-то странно. Записи с РС комп воспринимал нормально, как WAV и МП3, так и выход с эмулятора. Записи с эмулятора, переведённые в МП3 читались с ошибкой, выставив громкость на максимум резко стали читаться без ошибок. Записи же с самого плеера никак не хотели устойчиво читаться. Иногда не мог правильно указать контрольную сумму, иногда контрольную сумму указывал правильно, но сам подсчитывал неверную. При чём даже сам считал контрольную сумму, и она бывала разной, почти как на реальной ленте.
На слух с наушников обнаруживалось какое-то дребезжание даже на пилоте. При чём это то проявлялось, то никак не было слышно. В итоге решил что это особенности кодировщика плеера.
Нашёл подстроечный резистор и запаял его как регулятор уровня на выход компьютера. Настройкой на слух выставил уровень, когда дребезжание сигнала ослабилось. Несколько тестовых прогонов показали достаточно устойчивое считывание, правда громкость воспроизведения пришлось выкрутить на максимум. Остановился пока на битрейте 128.

parsec
Новичок

Сообщения : 3
Дата регистрации : 2019-05-05

Вернуться к началу Перейти вниз

Эмулятор радио 86рк  Empty конфиги для эмуляторов РК

Сообщение  barsik Вс Янв 05 2020, 22:49

10
Исходно в скрипто-настраиваемых эмуляторах EMU и EMU80, естественно, есть конфиги для базового РК86. Заниматься модификацией конфигов приходится лишь, если архитектура меняется.

Теоретически архитектуру РК86 можно доработать множеством способов. Но сейчас уже нет никакого смысла в изменении самой платформы, т.к ясно, что для этого нет и не придвидится программ. И всё-же некоторые дополнения к базовой архитектуре, которые служат лишь цели улучшения сервиса и удобства пользования и делаются вручную на базовой плате имеют смысл.

В частности под ПЗУ полезно занять всю область в 8 кб выделенную для ПЗУ, что достигается лишь заменой панельки на 28-ми ногую. И для того, чтобы можно было использовать CP/M имеет смысл открыть окно доп.ОЗУ в области выше $8000 в окне 8 или даже 12 кб.

Несколько лет назад я составил конфиги РК86 для эмулятора EMU от b2m, которые увеличивают в РК ОЗУ до 512 кб или 1 мб. Конечно это делается совместимо и двумя способами. Первый способ это цельно полубанковая коммутация в окне 0...7FFF. Уже при одной банке 565 РУ5 доступно две страницы ОЗУ по 32 кб. Второй способ введения доп.ОЗУ - это коммутация доп.ОЗУ в окне выше $8000. Удобнее всего в окне 8 кб с $A000, т.к кратное окно выгоднее, чем коммутация в некратном окне 14 или 15 кб.

Однако недавно эти вышеупомянутые конфиги для Специалиста, РК86 и ИРИШИ были утеряны при гибели винта, а подробности о том, как менять конфиг для EMU я частично забыл. Для другого эмулятора EMU80 составить конфиг ещё сложнее, но и отчасти выгоднее. Т.к EMU80 поддерживает РК-КНГМД, в то время как для EMU можно иметь лишь CP/M с VDISK-ом из ОЗУ и без физического носителя (в виде дискеты). Зато EMU поддерживает включение альтернативного фонта (в ниже приведённом ниже конфиге это делается PC7 доп.ППА).

Пока у меня есть конфиг для EMU80 с поддержкой РК-КНГМД, но без альтернативного фонта. Что не позволяет отладить в EMU80 нортон для CP/M, т.к для него нужен альтернативный фонт. Но есть эмулятор  EMU поддерживающий большую памяти и альтернативный фонт. Потому дискетную DOS отлаживаем в EMU80, а нортон можно отладить только в EMU, используя такую же версию CP/M, но не с дисководом, а с RAM-диском из доп.ОЗУ.

Вот конфиг для EMU, для РК с ПЗУ в 8 кб и доп.ОЗУ в окне 9000...BFFF. Тут предполагается, что ради экономии, чтобы не ставить два дешифратора - один для РК-КНГМД на участок E000 и второй на участок 8000, ставится только один доп.дешифратор. А именно, - на участок 8000. Тогда РК-КНГМД не мешает отдать весь участок E000 для ПЗУ (чему мешает оригинальный адрес РК-КНГМД на F000). Т.о ПЗУ расширяется до 8 кб в окне E000...FFFF. В данном конфиге для удобства использования файлов с кодом ПЗУ F800, всё ПЗУ в 8 кб разделено на 2 фрагмента - базовое F800 и дополнительное E000...F7FF. В реале это одно ПЗУ и по сбросу компьютер стартует с кода ПЗУ E000 (т.е для ПЗУ из реала адрес старта в строке PC= надо поставить на E000, тут это пока на F800, чтобы можно было пользоваться базовым ПЗУ F800).


// Здесь есть ОЗУ 12 Кб в окне 9000...BFFF, некоммутируемое
// и другое (не mem1), из-за чего экран нельзя делать выше 8000
// Фонт 8*8. Два фонта коммутируемых битом PC7 ППА D14, который на 8400.

main.CPUClock=1300KHz
main.Caption="РК86 на Z80 с доп.ОЗУ 9000...BFFF"

CPU : Z80 {
 debug=cas
 mem=mm
 pc=E000
//  port.maptomem=1
}

mem1 : Memory {
 size=8000
}

mem9000 : Memory {
 size=3000
}

font : Memory {
 ~rom="Radio/FONT8x8.DAT"
 frame[0].size=400
 frame[0].page=DOPPPA.portC[7]
}

bios : Memory {
 rom="Radio\ZBIOS.ROM"
}

memE000 : Memory {
 rom="Radio\IRISHA.ROM"
}

DOPPPA : K580ww55 {
}

sys : K580ww55 {
 portA=kbd.~mask
 portB=kbd.~data
 portC[0]=cas.record
 portC[4]=cas.playback
 portC[5-7]=kbd.~data2
}

crt : K580wg75 {
 dma=dma[2]
 font=font.frame[0]
 fontwidth=8
 fontheight=8
 hilight=crt.ggh
}

dma : K580wt57 {
 mem=mem1
}

mm : MemMap {
 map[0][0000-7FFF]=mem1[0000]
 map[0][8000-83FF]=sys.data
 map[0][8400-87FF]=DOPPPA.data
 map[0][9000-BFFF]=mem9000[0000]
 map[0][C000-DFFF]=crt.data
 map[0][E000-FFFF].wo=dma.data
 map[0][E000-F7FF].ro=memE000[0000]
 map[0][F800-FFFF].ro=bios[0000]
}

kbd : Keyboard {
 layout="Radio\layout.kbd"
}

beep : beep {
 input=cpu.int
 input2=sys.portC[0]
}

cas : tape-recorder {
//  biproc[FB98-FCA4]=rk
//  boproc[FC46-FCA4]=rk
 biproc[FB98-FC9D]=rk
 boproc[FC46-FC9D]=rk
}


Здесь использованы два файла ПЗУ (хотя в реале это одно сплошное ПЗУ 2764 объёмом 8 кб). Одно ПЗУ это стандартное ПЗУ F800 объёмом в 2 кб, а второе размером в 6 кб с адреса E000. Так удобнее подставлять файлы с кодом ПЗУ в эмулятор. Не стоит забывать, что при процессоре Z80 базовые ПЗУ не годятся (виснут), нужно специально исправленное под процессор Z80 ПЗУ. Если такого ПЗУ у вас нет, то исправьте строку с типом CPU. В качестве кода ПЗУ на E000 я пока подставляю отладчик 4 кб и ещё 2 кб остаются под процедуры работы с дисководом или винчестером. Этот конфиг реализует вот такую карту памяти.

Вскоре я разберусь как в EMU добавить доп.банки ОЗУ. Это позволит не имея поддержки РК-КНГМД отлаживать в EMU CP/M для РК и нортон для РК-CP/M использующий альтернативный фонт. Т.о дискетные процедуры приходится отлаживать в эмуляторе EMU80, а программы использующие альтернативный фонт - в EMU, т.к для EMU80 я пока не знаю как ввести переключение фонтов (но это должно в эмуляторе быть, т.к в Микроше и в Партнёре доп.фонты есть).

Чтобы с вашим ПЗУ F800 в эмуляторе работала загрузка с МГ-ленты надо уточнить адреса МГ-подпрограмм (в конце конфига закоментированы адреса этих подпрограмм в базовом ПЗУ: в том Z80 ПЗУ, что я использую адреса выхода из подпрограмм чуть иные).
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия, СПб

Вернуться к началу Перейти вниз

Эмулятор радио 86рк  Empty фонт 8*8 для РК86 в эмуляторе EMU

Сообщение  barsik Пн Окт 26 2020, 13:20

11
Захотел сегодня подставить в самую простую РК-игру "Охота на уток" вместо буковок, что изображают охотника и летящую по небу утку, нарисованные мной графические символы утки и охотника, что конечно более прилично может выглядеть при фонте 8*8, а не 6*8, как в оригинале. Охотник и стрела в этой игре - это одно знакоместо (т.е спрайт в один тайл), а утка - это три смежных знакоместа (или спрайт в три тайла).

Как раз эмулятор EMU позволяет поиметь фонт 8*8 (может и EMU80 позволяет, но я не знаю как это сделать). А про то, как сделать такой фонт в EMU его автор сообщил в ответ на мой вопрос в январе 2017 года в форуме ZX-PK.ru.

Ну и, естественно, кинулся искать нужный пост от автора EMU на этом огромном по числу постов форуме. Потратил на это всё утро. Искал в форуме 2 часа, искал просматривая сам и искал гуглом по разным ключевым словам. И всё-равно так и не нашёл, блин! Как назло нужные посты были не в теме про эмулятор EMU, а бес знает где. Злоба так и душит, блин. А старых конфигов для EMU у меня не сохранилось, т.к с тех пор сдохла куча винтов и много текущей мелкой информации погибло, а сам я намного чаще пользуюсь эмулятором EMU80. Я конечно резервирую (ранее на CD-RW, сейчас на несколько microSD в 32 Гб и в облаке), но не часто и в основном лишь самое ценное (в т.числе и исходники для 8-ми разрядок), но текущая информация гибнет.

А в итоге оказалось, что моя память совсем ослабла, т.к я же сам всего 10 месяцев назад в этом форуме выложил один свой конфиг для РК86 из 2017 года. И выкладывая этот конфиг даже не обратил внимание, что фонт там 8*8. Обнаружилось, что в конфиге из предыдущего поста, что я сам же написал, как раз уже и сделан фонт 8*8. Вот как в эмуляторе EMU сделать для РК86 фонт 8*8 вместо убогого фонта 6*8:


font : Memory {
   ~rom="Radio/FONT8X8.DAT"
   frame[0].size=400
   frame[0].page=DOPPPA.portC[7]
}

DOPPPA : K580ww55 {
}

mm : MemMap {
   . . .
   map[0][A000-BFFF]=DOPPPA.data
   . . .
}

Здесь дополнительный ППА РК86, т.е D14 обозван DOPPPA. Это потому, что во всех своих конфигах для EMU, я все устройства переименовал в говорящие имена (т.к в оригинальных конфигах имена БИС левые). Так эркашные ППА вместо ничего не говорящих имён sys и app1 я обозвал как положено KBDPPA и DOPPPA. Если вам лень переименовывать слово app1 в DOPPPA, то достаточно только заменить секцию font на вышепоказанную заменив в ней слово DOPPPA на app1 (как в оригинале конфига из дистрибутива обозван доп.ППА D14).

Ну и естественно Вы должны положить в системный каталог РК86 (radio) свой фонт с именем FONT8X8.DAT размером в 2 кб, в котором д.быть размещены 2 фонта по 1 кб каждый с графикой символов в матрице 8*8. Первый из фонтов должен в точности соответствовать базовому фонту РК86. А вот второй альтернативный фонт это уже на ваше усмотрение. Это м.быть фонт русских букв КОИ-8, фонт содержащий рамки и лат.буквы с инверсией или фонт содержащий тайлы графической тайловой игры, что Вы разрабатываете.

Я не в курсе для чего перед словом rom стоит символ ~, хотя в конфиге из дистрибутива этого символа нет. М.быть об этом написано в постах, где информацию о замене фонта на размер 8*8 привёл автор EMU b2m (и которые я не нашёл), но сейчас почти 4 года спустя я это уже, естественно, не помню. Похоже, что это надо, чтобы фонт коммутировался каким-либо битом, т.е это намёк эмулятору, что есть страницы фонта. И похоже, что как раз эту коммутацию между базовым фонтом и альтернативным в этом конфиге делает бит PC7 из доп.ППА D14. Позднее я это уточню и сообщу ниже.

Особенно порадовало, что похоже в EMU с таким конфигом альтернативный фонт можно включать программно, что освобождает от необходимости запускать игру с тайловым фонтом вслепую (т.к имея только один фонт и заняв его под графику игры не отобразить буквы и цифры и игру надо как-то стартовать вручную).

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

Конфигом эмулятора за секунды можно сделать "коррекцию" архитектуры и отладить ПО. Но не стоит забывать о реале. Так в частности в конфиге эмулятора EMU есть строка "pc=xxxx" задающая с какого адреса процессор начинает прогон по сбросу и в оригинальном конфиге там стоит адрес F800. В реале ПЗУ РФ2 4 раза дублируется в области E000...FFFF, т.к чип-селект формируется на все 8 кб.

Но если в реале ПЗУ РФ2 заменяется на 2764 ёмкостью в 8 кб (это делается с помощью замены панельки на 24 ноги на 28-ми нОгую панельку), то в такой реальной машине по сбросу CPU стартанёт с адреса E000. Потому, если надо чтобы стартовал монитор в базовом ROM-BIOS-е РК, то в этом ПЗУ 2764 на адресе E000 тремя байтами должна стоять команда JMP F800. А в конфиге эмулятора для точного соответствия реалу надо стартовый адрес процессора изменить на E000 (что как раз и сделано в конфиге из предыдущего поста).

Вот примерно такая карта памяти в том конфиге (здесь ещё показано, что область C000...DFFF делится дешифратором и ППА D14 стоит не на 8400, а где-то ещё). К сожалению не знаю как сделать в эмуляторе (и в этом EMU и в EMU80 отключение области ППА и включение вместо него ОЗУ, потому придётся пользоваться для отладки такой архитектурой.

Эмулятор радио 86рк  MAP_dop_RAM_14K.1603872976
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия, СПб

Вернуться к началу Перейти вниз

Вернуться к началу

- Похожие темы

 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения