B2M EMU

Использование и разработка софта (преимущественно на ПЦ)

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16970
Joined: 21 Oct 2009 08:08
Location: Россия

Re: B2M EMU

Post by Lavr »

b2m wrote: 05 Mar 2026 08:30
Lavr wrote: 05 Mar 2026 07:38Мог бы, конечно, ехидно посмеяться
А мог бы и спасибо сказать. Но, очевидно, в твоём лексиконе таких слов нет. Ну и х с т.
Я зато наблюдаю твой "богатый лексикон". :wink: А я при всём своём лексиконе такого себе не позволяю... :mrgreen:

При другом раскладе за мной "спасибо" никогда не задерживается, но не в данном случае.

Я тоже не услышал "спасибо" за то, что нашел очередные глюки твоего emu и помог твоему глюколятору стать менее глючным. Но я этого и не ждал. :lol:
b2m wrote: 05 Mar 2026 04:29На вот, не плачь, корректный конфиг: SpecialistMX.zip
Ну а в этом случае - "каков ответ, таков и привет"... :D

Плакать у меня реально нет причин, но теперь уж не посмеяться ехидно просто грех! 8)
b2m wrote: 05 Mar 2026 04:29Эмуль поддерживает до 4-х дисководов, соответственно номер двухбитный, а тут нужен только 1 бит. Зачем биты d1,d2 в драйвере в еденицу устанавливаются, я не знаю
Тем более что, как говорит молодёжь: "лулзы полезли" и почему-бы не "порофлить"? :ebiggrin:
FDDController3.png
Ну ладно, на схему тебе смотреть бестолково. Ты как не знал, так и не знаешь, как работает D-триггер типа "master-slave". :wink:
Но с тех пор, как я над этим в былые времена посмеялся, лучше ничего не стало. :-?

Поэтому в описании MX_DOS.pdf написано русским по белому:
FDDMX_DOS.png
Ну и хотя бы как программист мог бы сориентироваться по коду.
Я вот по состоянию на вчера в принципе ничего этого не помнил.
Но благодаря вот этой ветке: http://www.nedopc.org/forum/viewtopic.php?t=20764
всю необходимую документацию нашел.

И, дизассемблировав загрузчик, увидел следующее:

Code: Select all

;   порты контр.дисковода(КР1818ВГ93)
;                  A_10 |      Чтение       |     Запись
S_C:EQU  0FFE8H ;.10_00 | Регистр состояния | Регистр команд
;        0FFE9H ;.10_01 | Регистр дорожки   | Регистр дорожки
SEC:EQU  0FFEAH ;.10_10 | Регистр сектора   | Регистр сектора
DAT:EQU  0FFEBH ;.10_11 | Регистр данных    | Регистр данных

;   порты контр.дисковода
;                  A_10 |
HLD:EQU  0FFF0H ;.00_00 | HOLD
;        0FFF1H ;.00_01 | выбор плотности записи (recording density)
K18:EQU  0FFF2H ;.00_10 | выбор SIDE1/SIDE2
K19:EQU  0FFF3H ;.00_11 | выбор дисковода DS1/DS2
Никаких 4-х дисководов в совокупности и близко не наблюдается!

Поэтому:
ОФИЦИАЛЬНО БЛАГОДАРЮ FIFAN-а И ВСЕХ КОЛЛЕГ ПО ВЕТКЕ:
http://www.nedopc.org/forum/viewtopic.php?t=20764
ВЫ ВСЕ МНЕ ВЧЕРА ОЧЕНЬ ПОМОГЛИ С ДОКУМЕНТАЦИЕЙ!!!
You do not have the required permissions to view the files attached to this post.
iLavr
b2m
Devil
Posts: 942
Joined: 26 May 2003 06:57

Re: B2M EMU

Post by b2m »

Lavr wrote: 05 Mar 2026 10:39Никаких 4-х дисководов в совокупности и близко не наблюдается!
Я знал, что мы с тобой на разных языках общаемся, но чтобы на столько разных...

Я не говорил, что Специалист-МХ поддерживает до 4-х дисководов. Я сказал про мой эмулятор, который является мультисистемным, и эмулирует также и другие компьютеры, которые поддерживают до 4-х дисководов. В связи с чем, элемент связи drive в конфиге является двухбитным. В случае Специалист-МХ нужно выделять один бит, что я и сделал в новом конфиге.

Не нравится мой эмулятор - сотри его со всех своих дисков и не пользуйся. Я никого не принуждаю пользоваться именно моим.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
User avatar
Lavr
Supreme God
Posts: 16970
Joined: 21 Oct 2009 08:08
Location: Россия

Re: B2M EMU

Post by Lavr »

b2m wrote: 06 Mar 2026 00:48Я знал, что мы с тобой на разных языках общаемся, но чтобы на столько разных...
Именно на очень разных! Это же слепому очевидно! :esurprised:
Ты предпочитаешь язык аббревиатур:
Lavr wrote: 05 Mar 2026 10:39 ... очевидно, в твоём лексиконе таких слов нет. Ну и х с т.
Я же придерживаюсь языка принципиальных электрических схем:

Image
А этот язык ты понимаешь слабовато... :-?

А вот это современная молодёжь назвала бы "отмазы гнилые и неумелые".
b2m wrote: 06 Mar 2026 00:48Я не говорил, что Специалист-МХ поддерживает до 4-х дисководов. Я сказал про мой эмулятор, который является мультисистемным, и эмулирует также и другие компьютеры, которые поддерживают до 4-х дисководов. В связи с чем, элемент связи drive в конфиге является двухбитным. В случае Специалист-МХ нужно выделять один бит, что я и сделал в новом конфиге.
Во времена же моей молодости такое квалифицировали как "детский лепет на лужайке".

"Твой эмулятор" может и кофе умеет готовить, выдвигая тебе устаревшую ныне "подставку под кофейную чашечку". :wink: Но...
emu.png
Я лично надеюсь воспроизводить свойства цифровой системы, известной, как "Специалист МХ",
emu_sp.png
и не в первый раз сталкиваюсь с тем, что свойства этой цифровой системы воспроизводятся некорректно. :esad:

Если бы в меню было написано: Something that looks like SpecialistMX, я бы и смотреть на это не стал, не то чтобы писать какие-то посты неуравновешенному автору, впадающему от этого в истерику. :neutral:
b2m wrote: 06 Mar 2026 00:48Не нравится мой эмулятор - сотри его со всех своих дисков и не пользуйся.
А вот здесь, я, пожалуй, воспользуюсь следующим стилем: :wink:
А вот что мне делать со всеми моими дисками, я решу сам, когда захочу, и в каком захочу виде. :lol:
И безусловно, не стану спрашивать совета в этом топике...
:mrgreen:
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16970
Joined: 21 Oct 2009 08:08
Location: Россия

Re: B2M EMU

Post by Lavr »

.
Я по ссылке: https://bashkiria-2m.narod.ru/index/emul/0-8 прочитал следующую фразу:
B2M wrote:Вы можете сделать свою конфигурацию из набора имеющихся узлов и БИС. Если Вас заинтересовало, как это можно сделать, загляните в раздел Справка по эмулятору.

Внимательно изучил я весь раздел Справка по эмулятору и пришел к выводу, что за эмуляцию интерфейса с кассетным магнитофоном в файле конфигурации отвечают следующие строчки, выделенные красным:
CAS-1.png
Я поэкспериментировал с кодом RAMFOS и файлом SpecialistMX.cfg, поскольку весьма удобно было бы, если бы заработали следующие функции:
BIOS_CPM4.PNG
Ибо загружать файлы через отладчик довольно-таки неудобно... :-?

В итоге эти функции заработали, что также помогло мне освободить место в коде RAMFOS для необходимых патчей для OS CP/M-80.

Но дальше выяснилась следующая неприятность: OS CP/M-80 работает в первой странице ОЗУ, адреса подпрограмм работы с магнитофоном находятся в нулевой странице ОЗУ, и когда CP/M-80 попадает в результате работы на эти адреса в первой странице ОЗУ, срабатывает эмуляция работы с магнитофоном в виде окна запроса файла.

Что ещё следует прописать в файле SpecialistMX.cfg, чтобы эмулятор различал работу программ в нулевой и первой страницах ОЗУ, и не вызывал эмуляцию работы с магнитофоном при активной первой странице?
You do not have the required permissions to view the files attached to this post.
iLavr
b2m
Devil
Posts: 942
Joined: 26 May 2003 06:57

Re: B2M EMU

Post by b2m »

Lavr wrote: 14 Apr 2026 23:40 Что ещё следует прописать в файле SpecialistMX.cfg, чтобы эмулятор различал работу программ в нулевой и первой страницах ОЗУ, и не вызывал эмуляцию работы с магнитофоном при активной первой странице?
Добавить проверку байт по указанным адресам (вместо ХХХХХХ реальные байты в 16-чном виде, в разумном количестве, чтобы отличать код):

Code: Select all

cas : tape-recorder {
  biproc[C377-C3C8]=rk
  biproc[C377-C3C8].check="XXXXXX"
  boproc[C3D0-C3F4]=sp
  boproc[C3D0-C3F4].check="XXXXXX"
}
Для примера можно заглянуть в SpecialistMX2.cfg
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
User avatar
Lavr
Supreme God
Posts: 16970
Joined: 21 Oct 2009 08:08
Location: Россия

Re: B2M EMU

Post by Lavr »

b2m wrote: 15 Apr 2026 02:17Добавить проверку байт по указанным адресам (вместо ХХХХХХ реальные байты в 16-чном виде, в разумном количестве, чтобы отличать код):

Code: Select all

cas : tape-recorder {
  biproc[C377-C3C8]=rk
  biproc[C377-C3C8].check="XXXXXX"
  boproc[C3D0-C3F4]=sp
  boproc[C3D0-C3F4].check="XXXXXX"
}
Для примера можно заглянуть в SpecialistMX2.cfg
БОЛЬШОЕ СПАСИБО! :kruto:

Я, честно говоря, увидел похожий код в Argo.cfg:

Code: Select all

cas : tape-recorder {
  iproc[0562-05E0]=zx
  iproc[0562-05E0].check="DBFE1FE620F6024F"
  oproc[04C2-053E]=zx
  oproc[04C2-053E].check="213F05E521801FCB"
}
Но засомневался из-за "=zx" - а вдруг для "=sp" и "=rk" это не работает? :roll:
А второй момент был: насколько важен код здесь check="DBFE1FE620F6024F"


P.S. Нормально пошло! :kruto: А то вот здесь оно в магнитофон и падало... :wink:
CPM_BST11.png
You do not have the required permissions to view the files attached to this post.
iLavr