-
- ? gid
- 12.01.2020 19:25
Судя по панелькам, клавиатура - жёсткая кнопочная скрипучка.
Самый простой возможный ответ - обрыв в шлейфе от клавиатуры к панелькам. Ищите, где обрыв. Или, более редкий случай - замыкание где-то на плате, на которой кнопки распаяны.
- ? gid
- 12.01.2020 19:15
А максимум, это сколько?
Он ведь от производительности ПК зависит и у каждого будет своё значение, если сильно задрать частоту, там уже начинаются проблемы с обработкой клавиатуры на БК.
Оказывается, я забыл написать в документации, что для кнопок изменения частоты в панели дампа регистров действуют комбинации модификаторов:
Shift + клик на кнопке: +- 1 Гц
Ctrl + клик на кнопке: +- 10 Гц
Ctrl+Shift + клик на кнопке: +- 100 Гц
Alt + клик на кнопке: +- 1 МГц
Alt+Shift + клик на кнопке: +- 10000 Гц
Ctrl+Alt + клик на кнопке: +- 100000 Гц
Ctrl+Alt+Shift + клик на кнопке: *2 или /2 текущую частоту
¤
Пользуйтесь модификатором Ctrl+Alt+Shift для быстрого наращивания частоты.
- ? gid
- 08.01.2020 13:23
А зачем разворачивать макросы вручную? для этого же есть кросс компилятор MACRO-11.
Форк от shattered: https://github.com/shattered/macro11
более свежий форк от Rhialto: https://gitlab.com/Rhialto/macro11, где он периодически борется с некоторыми глюками
А если он не справится, есть это: https://zx-pk.ru/threads/24755-emulyator-rt-11.html - оригинальный макро11
¤
Я с его помощью делаю листинг исходника, чтобы с его помощью ориентироваться в бинарнике, который просто прохожу отладчиком в эмуляторе.
- ? gid
- 07.01.2020 22:30
можно не отвечать?
¤
[встречется и 244, и 250. А какой правильный?]
Оба правильные, DEC наделала много разных моделей PDP и много разных конфигураций.
- ? gid
- 06.01.2020 09:59
Экспериментально удалось добавить эту возможность. Только с частотой кадров беда, она задаётся в параметрах командной строки ffmpeg вручную, и не имеет ничего общего с реальностью. Т.е. если накладывать ещё и звук, то будет 100% рассинхрон.
И я пока не знаю, как передавать ffmpegу кроме видео ещё и аудиопоток, чтобы хоть как-то получилось синхронное видео+звук.
И ещё не готовы элементы управления включением/выключением захвата видео. Когда сделаю, тогда и будет выложена новая версия (как есть, без звука).
- ? gid
- 21.11.2019 23:04
Потому что FPU я вообще делал просто потому, что это возможно, и скорее всего в эмуляторе оно использоваться не будет. Оно не только не отлажено, оно даже не работает ещё. Это просто наброски. Поэтому отдельным классом, чтоб в случае чего, просто удалить эти файлы и не мучиться. Ведь есть у меня не до конца доделанная эмуляция AY8830, тоже сидит отдельным классом и нигде не используется. И вопросов не вызывает.
- ? gid
- 21.11.2019 13:09
У вас какой-то уж совсем дремучий код. У меня CEMU2149::NextTick() давно выпилено за ненадобностью, и все звуковые устройства наследуются от своего базового класса, где собран только общий для всех устройств код.
Я этот класс CDevice всё таскаю с собой, потому что не знаю, а вдруг он мне пригодится когда-нибудь.
А изначально задумывалось, что все устройства типа матплаты, контроллеров и т.п., которые делают обмен данными по шине будут наследоваться от одного базового класса, вот этого.
¤
Не, в эмуле используется тоже signed 16-bit, и сейчас и раньше, можно посмотреть файл BKSound_Defines.h, там все параметры для звука, и FLOAT_BASE там уже 32768.0
Я однажды задался целью, и перелопатил всю генерацию звука и работу с ним. А то там был бардак и многочисленные переконвертирования из float в short и обратно при синтезе, разные модули работали с разными видами данных.
В результате спикер и AY при генерации звука используют только верхнюю половину амплитуды периода, чтоб не заморачиваться, потому что используются только положительные числа. А раньше я хотел использовать весь диапазон, поэтому амплитуда генерировалась в диапазоне {0..65535}, а потом смещалась на полпериода вниз до {-32768..32767}, поэтому FLOAT_BASE был 65536
¤
Алгоритм микширования подходит к всему. Это просто математическая формула, какого типа данные на входе, такого и на выходе.
- ? gid
- 21.11.2019 09:06
Если ссылки на ЯД протухнут, то скачать можно будет тут http://gid.pdp-11.ru/doclist.html
- ? gid
- 18.11.2019 10:03
AY и ковокс одновременно звучать не могут, т.к. сидят на одном порту. Одно из них может работать одновременно со спикером.
Но если их рассадить по разным портам, то запросто могут звучать одновременно, алгоритмы эмуляции позволяют.
Сэмплы микшируются по формуле A + B - A*B
где один из источников так же может быть результатом микширования по этой формуле.
Если сэмплы записывать последовательно в буфер, то тогда надо увеличивать частоту дискретизации пропорционально, иначе будет заметно, что тональность звучания отдельных источников не такая, как должно быть. Либо наоборот, делать выборку сэмплов с пропорционально меньшей частотой дискретизации, но тогда будет заметно падение качества звука. (пропорционально количеству источников звучания)
Чтобы не извращаться так, лучше просто микшировать.
- ? gid
- 17.11.2019 17:57
CEMU2149::GetSample(...); Выдаёт один сэмпл в соответствии с заданной в настройках эмулятора текущей частотой дискретизации.
да, это равносильно. Т.е. каждый вызов функции выдаёт результат, пригодный для записи в звуковой буфер звукового устройства, открытого и настроенного на заданную частоту дискретизации, чтобы слышать музыку в колонках ПК.
¤
Всё это потому, что работа микросхемы эмулируется и эмулируются её внутренние состояния для заданного дискретного момента времени, а не линейно и непрерывно.
¤
А для ковокса и спикера логика наоборот, надо вызывать функции CCovox::GetSample(...); и CSpeaker::GetSample(...); с той частотой, которая выбрана частотой дискретизации. Считается, что это как бы аналоговые устройства, звучащие линейно и непрерывно, а мы просто вызовом данных функций получаем текущие для заданного момента времени импульсы. Чем чаще вызываются эти функции, тем выше будет считаться частота дискретизации, для полученных сэмплов.
¤
У ковокса 8 кГц - это частота среза ФВЧ результата работы ковокса, а то он уж слишком неприятно звучит, это можно сравнить включением/выключением кнопочки фильтра ковокса.
- ? gid
- 05.11.2019 09:24
556рт4а - это ПЗУ палитр.
Должна ли она греться, тут мнения расходятся, некоторые говорят, что при выпуске этих ПЗУ было много брака, и она может греться, а некоторые - что в нормальном ПЗУ греться нечему.
¤
Надо поглядеть, не просаживается ли напряжение конкретно на ногах питания процессора, ВПшек.
¤
А вообще, компетентные товарищи свалили отсюда на zx-pk.ru или вообще утратили интерес к теме, и более полезных советов тут не дождётесь, я не сильно разбираюсь в сложных случаях.
- ? gid
- 04.11.2019 10:07
У меня пикшара вообще не открывается, так что картинку посмотреть не могу.
037ю и ир13 проверяют пальцем, если очень горячо, то микросхемы неисправны.
Или выпаиванием этих и запаиванием вместо них других экземпляров.
Вообще, дальше нужен логически анализатор и смотреть, что на шине МПИ творится.
- ? gid
- 03.11.2019 15:17
очевидно, что BKHDDTool консольная прога, и она не может работать из эмулятора, т.к. в эмуляторе нет GUI для работы с утилитой.
[При запуске напрямую я c помощью кнопки Pause только смог инструкцию немного прочитать.]
Это пагубное воздействие всяких тоталкомандеров и проводников. Используйте нормальный файловый менеджер FAR.
- ? gid
- 03.11.2019 09:42
[утилита BKHDDTool с какими образами HDD работает?]
С любыми, как с посекторным дампом HDD .img, так и с .hdi, ей без разницы
¤
про ig4icd32.dll APPCRASH в интернете пишут, что из-за косячности драйверов, кому-то помогает установка свежей версии дров.
¤
[У меня поддерживает только OpenGL]
В вин7 ещё можно включить Direct2D (для этого нужно установить DirectX redistributable), и самый дубовый рендер VFW (DrawDib) который работает в любом виндовсе.
¤
Подозреваю, что падает из-за того, что VS2017 компилирует прогу с использованием каких-то инструкций, не поддерживаемых старыми процессорами.
версия 3.8.1410.4183 - это было в 2014 году, и собиралось в VS2010 или VS2012 там всё попроще было.
- ? gid
- 02.11.2019 19:00
[BKHDDTool - как она работает, что может, чего не может]
Консольная утилита. BKHDDTool /h - справка параметрах командной строки.
может разобрать образ винчестера на разделы (лог.диски) и может обратно собрать.
не может сохранить содержимое резидентных модулей в мбр альтпро при разборке и обратной сборке
¤
[и что дальше делать с этим созданным образом?]
теперь его можно подключить как виртуальный hdd к эмулятору в диалоге "Настройки эмулятора", подключить можно в любой конфигурации, но работать с ним можно только в конфигурациях с контроллерами СМК и Самара, в остальных - просто бессмысленные строчки в ини файле будут.
¤
[эмулятор в конфигурации с СМК-512 также не поддерживает образы HDD]
эмулятор в конфигурации с СМК-512 как раз таки поддерживает образы HDD, в собственном формате
¤
[Какой бардак!]
Писать один универсальный контейнер, в котором будут храниться все возможные форматы образов уже поздно. Уже понаписано горы софта, работающего со своими форматами.
¤
[почему-то выдаёт ошибку - рисует 2 окна и тут-же вылезает окно винды с ошибкой]
У меня, к сожалению, работает.
[Тут скрин экрана]
Скрин посмотреть нельзя, ибо там написано, что сперва кто-то там должен посмотреть и одобрить фотоальбом пользователя.
- ? gid
- 02.11.2019 13:22
BKHDDTool и BKDE - утилиты, которые идут в комплекте с моим эмулятором, находятся в директории Tools.
¤
Дмитрий, там всё проще. BKDE умеет заходить внутрь логических дисков в образе диска, достаочно указать функции обработки образа смещение относительно начала файла, т.е. там вообще не надо ничего придумывать, вся проблема заключается в создании удобного пользовательского интерфейса, с помощью которого можно выбирать нужный логический диск в образе винчестера.
Так же я не знаю как написать UI для визуального редактирования таблицы разделов, чтобы можно было мышкой изменить размеры лог.диска, переместить лог диск, удалить, создать.
И главное - написать одну прогу с трансформным интерфейсом, для образа дискеты - одним, а для образа HDD - другим, чтобы не писать две почти одинаковые проги.
- ? gid
- 02.11.2019 09:43
Никак. Программу для работы с образом винчестера БК так никто и не написал.
Дмитрий (ник на этом форуме) говорил, что пишет, но до сих пор никак не напишет.
У меня тож не выходит каменный цветок, Вроде, чего там думать, взять и скрестить BKHDDTool и BKDE, а вот фиг, не получается конечный результат.
- ? gid
- 21.10.2019 10:56
[Вот у меня есть кол-во тактов каждой команды. Как высчитать "частоту" проца по этим тактам?]
без фреймирования никак. Нужно посчитать сколько тактов уместилось в заданном интервале времени, допустим 20мкс, и на основании этого посчитать частоту. Она-то от времени зависит, и не имея никаких точек отсчёта времени, частоту никак не посчитать.
- ? gid
- 21.10.2019 09:26
Можно предположить, что используется 0-тактовое СОЗУ и тогда tn == 1 ну т.е. RPLY с данными выдаётся сразу после запроса DIN/DOUT, соответственно, процессором RPLY принимается через 1 такт после DIN/DOUT.
- ? gid
- 20.10.2019 15:39
Так она не от процессора зависит, а от контроллера памяти.
¤
Попробовал сейчас посчитать величину tn для ДВК на основании данных из тестов Patrona
Для команды tst получилось такое:
адресация 0: время 14 тактов, формула 8T+tn, отсюда tn = 6T
1: 29, 21T+3tn, tn = 8T/3 = ~3T
2: 29, 20T+3tn, tn = 3T
3: 42, 27T+4tn, tn = 15T/4 = ~4T
4: 29, 21T+3tn, tn = 8T/3 = ~3T
5: 43, 28T+4tn, tn = 15T/4 = ~4T
6: 42, 27T+4tn, tn = 15T/4 = ~4T
7: 55, 34T+5tn, tn = 21T/5 = ~4T
где T - время одного такта тактовой частоты 5 МГц
¤
Видим, что и тут фиг вычислишь значение.
Щас ещё посмотрел, законспектированное с темы тестов процессора на zx-pk, а то даже саму тему уже найти не могу, там получалось, что практика не совсем совпадала с теорией, и очень все надеялись на результаты реверса. Потом Patron вроде как забил на теоретические формулы и руководствовался практическими результатам при написании своего эмулятора.
- ? gid
- 20.10.2019 10:19
У всех по-разному. На ДВК это постоянная величина, которую можно рассчитать. На БК из-за особенностей работы ВП1-037 это переменная величина, которая зависит от того, в каком состоянии (цикле) находился ВП1-037, когда пришёл запрос DIN/DOUT. Теоретически может равняться 1..8 тактов работы ВП1-037 (6МГц), но из-за не синхронности с частотой процессора, он умудряется проспать цикл ввода-вывода данных и фактически задержка достигает 1..15 тактов 6МГц. Как это пересчитать в такты процессора вообще непонятно. Поэтому-то и невозможен точный эмулятора БК без потактовой эмуляции связки 1801ВМ1+1801ВП1-037
- ? gid
- 19.10.2019 16:18
По данным ТО и Зальцману - у IOT,BPT,EMT,TRAP время выполнения одинаковое - 42T+5tn и 68,4 такта (если перевести 22,8 мкс в такты) соответственно.
А когда я измерял время выполнения команд, у меня получалось, что IOT выполняется на 28 тактов дольше чем EMT/TRAP на БК11 4МГц, а на 6МГц уже на 56 тактов дольше, правда потом я заметил, что моя БКшка была модифицирована, чтобы RPLY передавался процессору без задержки на 1-2 такта, так что все мои тесты оказались неправильными (моя БКшка оказывается работала где-то до 20% быстрее стандартной), а заново всё переделывать стало лень. В общем, в любом случае IOT почему-то выполняется дольше, чем EMT/TRAP/BPT. В тестах PAtrona также, только там ОЗУ не так критично влияет, поэтому у него IOT всего на 10 тактов дольше выполняется.
- ? gid
- 19.10.2019 11:02
Таки там микропрограмма же.
Для SOB надо вычесть из регистра 1 и проверить что получилось перед тем как переходить или не переходить, а чтоб добыть единицу, надо достать константу 1 из специальной таблицы констант, а для этого нужны действия и доп.такты.
А EMT/TRAP/IOT вообще прерывания генерируют. А это процедура вообще затратная, пока обратишься к памяти, пока прочитаешь адрес и PSW, пока всё это установишь, вот время и уходит.
- ? gid
- 18.10.2019 16:33
[Бит STOP служит только для принудительного ручного отключения таймера в любых режимах?]
Да, бит STOP просто запрещает счётчику считать. Он не выставляется счётчиком, т.к. это бит управления счётчиком извне.
[или фактом завершения служит сброшенный бит RUN]
Да.
Кстати фактом завершения счёта в режиме ONESHOT удобнее использовать бит 7 (чем бит 4), но этот бит опционален в этом режиме, и поэтому фактом завершения служит сброшенный бит RUN.
Однако, если установить бит 2, то фактом завершения будет служить сброшенный бит 4 и установленный бит 7.
- ? gid
- 12.10.2019 17:47
Ну вообще-то записывать данные в регистр управления когда попало - плохая идея, как раз потому, что счётчик начинает считать сначала и может никогда не досчитать до конца.
¤
Бит 7 имеет смысл использовать только в так называемом "режиме одновибратора", т.е. счётчик досчитал до нуля, выставился бит 7 и всё, больше никто ничего не считает. Дальше мы выполняем какие-нибудь действия, и чтобы снова начать отсчёт, сбрасываем бит 7 (обычно туда просто записывают исходную комбинацию битов).
Это делается, чтобы отмерять гарантированное количество времени, и выполнять какие-то действия строго через заданные промежутки.
Во всех остальных режимах бит 7 просто покажет, что переход через 0 был, но когда и сколько было переходов мы не узнаем.
- ? gid
- 09.10.2019 07:19
Ну раз есть схемы, то если возможно отсканировать в качестве лучшем, чем это есть в интернете (если исходник позволяет, бывает что бумага плохого качества или схема мелкая и смазанная, тут как ни старайся, хороший скан не выйдет), то лучше перед утилизацией отсканировать.
Например, мне из этого сейчас ничего не нужно, но я не могу быть уверен, что что-нибудь не понадобится в будущем через несколько лет.
- ? gid
- 07.10.2019 14:48
да. схем нет, инструкций по ремонту/эксплуатации нет -> не нужно.
- ? gid
- 05.10.2019 17:12
Ответ может быть там https://zx-pk.ru/threads/29971-peredelka-bloka-pitaniya-42v-gt-220v.html
- ? gid
- 04.10.2019 22:53
Нет. Тока маловато. Нужно 3 ампера минимум. И стабилизированный БП, зарядник от телефона (особенно от смартфонов) не является стабилизированным.
Но попробовать можно, если БКшку не жалко. Хороший маломощный БП, если не сможет выдать достаточно тока, просто тихо сгорит. А плохой, прежде чем гореть, успеет пустить 220В в БКшку.
- ? gid
- 27.09.2019 09:41
Скорее это может быть из-за присутствия микросхемы в одной из двух колодок в панели слева. Уберите лишнюю микросхему, чтобы в обеих колодках было пусто, ведь никто кроме вас не знает, что туда засунуто. Может вообще что-то неположенное.
Затем следующие варианты:
1. Дохлое ПЗУ БОС БК11 (DS17)
2. Если шахматка не регулярная, с вертикальными выпадениями бит или наоборот с посторонними вертикальными полосами - дохлая микросхема ОЗУ, иначе - озу предположительно в порядке.
3. КЗ/отошла пайка на плате
4. Сгнили резисторные сборки, в результате процессор сразу зависает после включения из-за помех на шине.
5. Дохлый процессор 1801ВМ1 (маловероятно, но возможно)
- ? gid
- 06.08.2019 21:23
[можно ли сделать БК полезной?]
Можно, только затрачиваемые усилия будут непропорционально велики по сравнению с полученным результатом.
[например, использовать БК, как элемент умного дома]
Можно, но для этого придётся самому разработать и изготовить железо для сопряжения БК с существующими элементами умного дома, потом написать ПО для управления умным домом с БК.
[Можно на нее повесить задачу управлять реле]
Можно. Но ПО по управлению реле придётся писать самому, там просто, устанавливаешь бит в регистре 177714 - реле замыкается, сбрасываешь - размыкается, только железо для сопряжения БК с реле придётся разработать и изготовить самому.
[отслуживать время]
Нет, на БК10 нет средств по точному отсчёту времени, можно написать программу, которая будет примерное время отсчитывать, как китайские часы, которые на десятки минут в сутки врут.
[Можно ли запустить дос с магнитофона]
можно, но из-за крайне малого размера ОЗУ, кроме дос в памяти ничего больше не поместится.
- ? gid
- 19.07.2019 12:18
С таким никто не сталкивался.
1. Что-то где-то замыкает ноги ВП1-037, видно как на экран попадают значения счётчиков микросхемы и синхроимпульсы.
смотреть возможное замыкание ног RAS(32), CAS0(36), CAS1(35), WTD(29), WTI(31) с ногой SINCO(28) Не всех разумеется, а какой-то одной из них. Так же может быть и адресная нога А0-А6, но вероятность этого меньше.
2. Неисправна сама ВП1-037, т.е. замыкание внутри неё.
- ? gid
- 17.07.2019 15:09
Не подтверждаю. У меня на Windows7 всё чётко, в коде деланья скриншота просто нет функционала сглаживания. Разве что микрософтовцы тайком добавили сглаживание куда-то в свои дллки. Позже на windows10 проверю, но думаю, что и там будет как обычно.
¤
А по вопросу на том форуме, ситуацию как оказалось можно пофиксить, путём упрощения эмуляции. Раньше, в каких-то ранних сборках эмулятора так и было.
- ? gid
- 15.07.2019 09:45
А чё DOS-то? Переходи на RTOS (ОСРВ), бесплатных правда маловато, почти 0, зато контроль над таймерами будет полный.
- ? gid
- 08.07.2019 09:30
2019я студия не поддерживает компиляцию под XP, поэтому я не вижу смысла переходить на неё, разве что когда возникнет прямая необходимость.
А всякие языковые особенности с++19, с++17 и т.п. я почти не использую, так что мне пофиг, чего там навнедряли, и того, что уже есть, достаточно.
У меня даже в 2017й студии уже возникли проблемы сборки под ХР, так что наплевать на 2019ю, хоть у неё и заставка красивше.
А х64 ассемблер прикрутить можно, через жопу, методом компиляния функций масмом и линковки накомпиленного. Никакой не инлайн и очень неудобно, поэтому использует это только тот, кому прямо очень очень нужно.
- ? gid
- 27.06.2019 09:18
Насчёт журналов не в курсе, но на некоторых образах дискет встречалось описание какого-то FORTH-83 с примечаниями особенностей для БК0010. А так же то ли разные разновидности этого форта, то ли просто по разному поименованные.
- ? gid
- 17.06.2019 16:11
Если нет фреймов, то всё равно есть неявный фрейм, равный длине звукового буфера.
И чтобы заполнить звуковой буфер сэмплами с заданной частотой дискретизации, допустим 44100, можно определить соотношение между 44100 и частотой эмулируемого чипа, допустим 2000000, чтобы узнать, через сколько тактов эмулируемого чипа вставлять один сэмпл звука.
d = 2000000 / 44100;
и потом в основном цикле, где выполняются такты эмулируемого чипа, выполнять это:
if (--soundTick <= 0) // если пришла пора вставлять сэмпл
{
soundTick += d; //заново инициализируем счётчик
GenerateSample(); //генерируем сэмпл и помещаем его в звуковой буфер.
//там же, проверяем, заполнился ли звуковой буфер, и если да - отправляем его звучать, и ждём, пока освободится новый
//звуковой буфер, чтобы заполнять уже его, тем самым получаем привязку к реальном времени.
}
¤
если частота чипа может быть меньше чем частота дискретизации, то условие надо немного усложнить.
if (--soundTick <= 0)
{
do {
soundTick += d;
GenerateSample();
} while (soundTick < 0);
}
Потому что тут наоборот, через сколько сэмплов частоты 44100 надо вставлять один такт частоты эмулируемого чипа.
Тут используется плавающая арифметика, чтобы переделать в целочисленную, надо немного поизвращаться.
¤
Хотя мне кажется, что тут всё гораздо проще. Если в музоне дамп регистров с задержками, то как правило задержки там стандартные 20мс, 40мс или ещё что-то. Это и будет фрейм, от которого никак не отвертеться. А модуль эмуляции AY у меня в эмуляторе самый простой в применении, какой я нашёл в интернете. Его инициализируешь нужной частотой дискретизации, а потом вызываешь GetSample с этой частотой дискретизации, чтобы получить звук AY, как настоящий.
- ? gid
- 22.04.2019 21:00
Не нравится x86? Есть много других платформ, посмотрите например на ARM v7. Это самое доступное. А есть ещё малодоступное и совсем недоступное, разные там RISC архитектуры, MIPS семейства. Вот там простор для творчества и есть куда моск приложить, так что времени даже поесть не останется, не то что побухать.
- ? gid
- 22.04.2019 20:21
Ничего странного, согласно таблице режимов работы контроллера СМК из файла "СМК. Режимы работы и распределение памяти..pdf" там и не должно отключаться ПЗУ со 140000 на БК0011М.
А в СМК-512 как я уже говорил, любое наложение ОЗУ СМК на ОЗУ/ПЗУ БК решается в пользу СМК. Т.е. СМК-512 с точки зрения СМК-64 работает неправильно. И как они так сделали я без понятия. Схему новодельного устройства я чё-то нигде найти не могу, хотя мне кажется, что я где-то её видел, только не придал значения. Поэтому забыл, где видел.
- ? gid
- 22.04.2019 12:13
маестро и клавесин - это такие редакторы биперных музонов.
маестро был продвинутым и к нему можно было писать свои модули воспроизведения. И все, кому не лень их писали. даже я для себя написал модули, воспроизводящие музыку на ковокс и на AY, только получилось не очень.
А меломан - одна из многих демок, где собраны разные биперные мелодии разных типов. Причём вариантов меломана было более чем 1.
- ? gid
- 22.04.2019 10:21
microxa, не вижу ничего плохого в использовании плавучки, тем более что я использую в работе исключительно процессоры AMD, начиная с K6, у них с быстродействием FPU нет проблем в отличии Интеловских. А начиная с 64битных АМД так и вообще никакой разницы между использованием плавающей арифметики и целочисленной нету. Т.е. есть, но она не принципиальна. В отличии от дурацих дырявых интеловких поделий.
¤
Manwe, я вот не вижу особой разницы в сигналах с магнитофонного выхода и генерируемого эмулятором. Просто в эмуляторе:
1. амплитудные уровни не соответствуют действительным. Я взял их на глаз, когда захватил сигнал с БК11М в Audacity с 8-ю уровнями амплитуды и просто примерно рассчитал процентное соотношение от максимальной амплитуды.
2. к выходному сигналу применена ещё фильтрация с помощью БПФ, это из-за неё такие волны на плечах амплитуд и пики на задних фронтах и звук приятнее.
¤
Я ведь не придумываю, я взял демку с биперными мелодиями "меломан" и запустил её на своей БК11М (БК10 у меня тогда ещё не было), записал несколько мелодий на ПК в Audacity и просто как мог постарался воссоздать такую же форму сигнала по возможности. Без учёта джиттера и теплового шума аналогового тракта.
- ? gid
- 21.04.2019 08:51
Нет конечно.
- ? gid
- 20.04.2019 23:03
Заимейте файл "СМК. Режимы работы и распределение памяти..pdf" и держите таблицу режимов всегда перед собой
В режиме 60 на БК11М отключаются ПЗУ монитора по адресу 140000 и ОЗУ из окна 1.
Но ПЗУ само собой отключаться не будет. Для этого надо модифицировать БК11М. Схема модификации много где есть, обычно на образах дисков с доками на АльтПро найти можно.
На СМК-512 по схемотехническим причинам наложения ОЗУ СМК на ОЗУ/ПЗУ БК не происходит никак. ОЗУ СМК электрически перебивает всё, этим оно работает как бы лучше, но с точки зрения СМК-64 не правильно.
На оригинале СМК-64 происходит честное наложение ОЗУ СМК на ПЗУ по адресу 140000 если БК11 не модифицирована.
Что вы и наблюдаете.
- ? gid
- 20.04.2019 22:52
там ещё такая особенность, на встроенную пищалку выводится только 1 бит, 6-й, без всяких сглаживающих конденсаторов, а на магнитофонный - уже 2 бита 6-й и 5-й.
Но всё равно изменение уровня амплитуды простым нетренированным ухом не улавливается, по крайней мере я не слышал никогда, это видно только на спектрограмме.
А пищалка со своим одним битом не песочит из-за своей инерционности.
Зато громкость регулируется скважностью, как в ШИМ.
- ? gid
- 20.04.2019 16:02
У моих БК0010-01 и БК0011М есть. У БК0011М это C15 6.8 нФ на схеме. Там 3битный ЦАП из резисторов R35,R29,R30,R31 и параллельно стоит конденсатор, благодаря которому биперный музон на БК звучит слушабельно.
У БК0010-01 это С48 6.8 нФ и 2битный ЦАП на R29,R30,R31
Но с БК0010 уже разнообразие есть. На каких-то моделях вместо R29 перемычка, А на каких-то - нет конденсатора. По крайней мере есть в сети такая схема БК0010, без конденсатора.
- ? gid
- 09.04.2019 12:30
чукча - не чукча, а робот. Слава роботам! Убить всех человеков!
И однако тут оказывается можно создавать темы с одинаковыми именами. Недоработка? хитрый план по запутыванию людей?
- ? gid
- 06.04.2019 10:06
блин, точно. что-то я туплю с утра, речь ведь не про БОС.
Вот есть дизассемблированные исходники DX DOS. не до конца разобранные http://gid.pdp-11.ru/f/dx_dos.rar
- ? gid
- 06.04.2019 08:22
есть исходник монитора БК0010, не совпадающий с содержимым ПЗУ 017, брать там https://forum.maxiol.com/index.php?showtopic=4335
есть какие-то исходники БОС БК11 без М, брать там https://forum.maxiol.com/index.php?showtopic=4336
Самого интересного - исходников БОС БК11М нету, я дизассембляж не осилил, т.е. собственно дизассемблировал, но разобраться и откомментировать сил не хватило.
- ? gid
- 05.04.2019 09:21
[А какие там варианты?]
Для БК11 свой, для БК11М два своих. Там надо полностью повторить на с++ алгоритм загрузки из ПЗУ с помещением когда надо данных в стек и извлечением, когда надо, и т.п., чтобы точно как надо работало.
- ? gid
- 05.04.2019 07:53
Естественно не происходит. "Эмулировать загрузку ленты" работает ТОЛЬКО и исключительно ТОЛЬКО для БК10. Для БК11 это не реализовано. Потому что слишком много вариантов. Слишком много писанины кода, а нужность этого дела не определена.
Для БК11 нужно загружать wav файлы. Аутентичненько.
Нужно делать так:
"Эмулировать загрузку ленты" выключить (это чтобы стало доступным загрузка wav)
Убедиться что звук спикера включен
В конфигурации "БК0011М+МСТД" L, Имя файла, Нажимаю Enter и... Ткнуть мышкой в иконку кассеты, выбрать нужный wav файл и загружать его.
-
«
1 | ... | 6 | 7 | 8 | ... | 15 | »
?