PDA

Просмотр полной версии : F.A.Q по эмулятору Башкирия-2М



XobbiMan
14.09.2008, 20:18
Предлагаю сюда заносить особенности эмуляции разных машинок в эмуляторе Башкирия-2М (как заводить программы, как подлючать диски и так далее)
(Оставлять ответы ввиде вопрос-ответ, если кто-то собирается написать по какой-то машинке Q-A, но пока все только в процессе, то запостите пустой пост с вопросами, на которые вы в скором времени напишите и ответы)

Итак, начнем...


Q: Как в эмуляторе заводить (записывать) программы для ПК8000 Хобби, Сура, Веста?
A: Ниже представлена подробная инструкция

При запуске эмулятора выбираем нужную конфигурацию для ПК8000:
- "PK8000 Sura and Xobbi" - Эмуляция ПК8000 Сура и Хобби - работа с файлам в CAS-формате
- "PK8000 Sura and Xobbi (cas)"- Эмуляция ПК8000 Сура и Хобби - работа с файлам в WAV-формате
- "PK8000 Vesta"- Эмуляция ПК8000 Веста - работа с файлам в CAS-формате
- "PK8000 Vesta (cas)"- Эмуляция ПК8000 Веста - работа с файлам в WAV-формате

Доступные команды (подробнее в Книга 2, Руководство пользователя "Бейсик"):
Запись:
SAVE "ИМЯ" - запись Бейсик программы в MSX-формате
CSAVE "ИМЯ" - запись Бейсик программы во внутреннем формате
BSAVE "ИМЯ",НАЧАЛО,КОНЕЦ,СТАРТ - запись Бинарной программы
(НАЧАЛО - начальный адрес программы,
КОНЕЦ - конечный адрес программы,
СТАРТ - точка входа в программу)
Чтение:
LOAD "ИМЯ"[,R] - чтение Бейсик программы в MSX-формате
CLOAD "ИМЯ"[,R] - чтение Бейсик программы во внутреннем формате
BLOAD "ИМЯ"[,R] - чтение Бинарной программы
,R - необязательный параметр, указывает чтобы после загрузки - запустить программу

На примере команды CSAVE/CLOAD опишем работу с WAV и CAS

Особенности работы с WAV-формате
Эмулятор записывает вывод на магнитофон прямо в WAV файл:
1. Набираем команду CSAVE "ИМЯ", но не нажимаем Enter
2. В тулбаре жмём на тёмнокрасное пятно (типа - кнопка "запись" магнитофона)
3. Задаёшь имя файла и уже потом сразу нажимаем Enter в ПК
4. После окончания записи ещё раз нажимаем на тёмнокрасное пятно (типа - выключили "запись" на магнитофоне).

Эмулятор считывает файл с WAV как с магнитофона:
1. Набираем команду CLOAD "ИМЯ" и нажимаем Enter
2. В тулбаре есть рядом с тёмнокрасном пятнышком треугольник (типа - кнопка "проигрывать" магнитофона)
3. Задаём имя файла и ждём пока ПК не напишет Found: ИМЯ
4. Если название файла не совпадает, то напишет skip: "ИМЯ"

Особенности работы с CAS-формате
Вывод в CAS-файл:
1. Набираем команду CSAVE "ИМЯ" и нажимаем Enter
2. Открывается диалоговое окно для записи CAS-файла
3. Задаем имя файла и потом нажимаем Enter в ПК
4. Ждем окончания записи

Считывание с CAS-файла:
1. Набираем команду CLOAD "ИМЯ" и нажимаем Enter
2. Открывается диалоговое окно для выбора CAS-файла
3. Выбираем и ждем пока ПК не напишет Found: ИМЯ или сразу не запустить программу
4. Если название файла не совпадает, то напишет skip: ИМЯ

С 16 Сентября 2008 в новой версии Эмуляторе такие изменения насчет ПК8000
Конфигурации только две
- "PK8000 Sura and Xobbi" - Эмуляция ПК8000 Сура и Хобби - работа с файлам в CAS-формате и WAV-формате
- "PK8000 Vesta"- Эмуляция ПК8000 Веста - работа с файлам в CAS-формате и WAV-формате
Как выбрать работу с CAS или WAV файлами - принцип изложенный выше тот же, но
- Если хотим работать с CAS, то на тулбаре не нажимает кнопки магнетофона - тогда все будет как работа с CAS файлами.
- Если хотим записать в WAV или считать с WAV, то вначале вводим команду, но не нажимает Enter, и после выбираем для записи или загрузки WAV (жмеи нужную кнопку тулбаре) и уж после Enter.

(Примечание, позже я перепишу этот help в более коротком и детальном варианте)


Q: Как в эмуляторе для ПК8000 Хобби, Сура или Веста сделать так, чтобы музыка играла в фоновом режиме?
A: Надо в конфигурационый файл ПК8000 добавить третьей строкой
main.globalsound=1

Tim0xA
22.09.2008, 12:56
Q: Как ускорить эмулятор?
A: Нажать и удерживать клавишу F9

Напомните, как включить паузу?

b2m
22.09.2008, 13:02
Как ускорить эмулятор?
Это верно пока только для Вектора, хотя добавить клавишу в Layout и её назначение в конфиг можно практически везде.

ZEman
23.09.2008, 06:29
не только можно но и нужно, желательно не только ускорение но и замедление.

svofski
24.01.2009, 19:35
Q: Как загрузить Вектор-06Ц с образа дискеты, если клавиатура не понимает одновременное нажатие клавиш F1+F2+F11?
A: ?
(Мой вариант - заслать казачка в виде мертвого квазидиска, тогда загрузчик проваливается в следующее по приоритету устройство. Но должен же быть более гуманный способ?)

Q: Как изменить раскладку клавиатуры для Вектора-06Ц? Например, чтобы клавиши управления курсором на PC соответствовали клавишам курсора на Векторе.
A: В файле layout.kbd надо переписать клавиши left, right, up, down на x-left, x-right, x-up, x-down.

XobbiMan
20.03.2009, 20:52
Q: Как загрузить программы или начать работать с ПК Юниор?

A: Ввести команду I, выбрать образ кассеты *.bt - появится заставка, дальше используем простые OS команды, например
B: (смена диска на другой)
DIR (список файлов)
и вводим название программы для запуска (без расширения)
(если хотим ускорить загрузку - воспользуемся клавишей F9)

ZEman
21.03.2009, 05:52
сделайте ещё памятку как загружать программы для вектор-старт.
ничего у меня не получилось загрузить, открываю образ пишу mload и ничего...

ivagor
21.03.2009, 07:22
Загрузка программ для ПК Вектор Старт-1200 (конфигурация Vector-1200):

Загрузка файлов с расширением rk (формат Монитор-1200)
В мониторе I, Enter - в диалоге открытия файла выбираем нужный, после загрузки T, Enter.

Загрузка файлов с расширением rkb (формат Basic-1200)
В бейсике MLOAD, Enter - в диалоге открытия файла выбираем нужный, после загрузки RUN, Enter.
Для успешного запуска игры "Удавчик" (или как ее обозвал b2m - snake) перед запуском бейсика в мониторе надо подать команду #5000. Еще один положительный эффект от этой команды - бейсик стартует сразу, без рисования заставки.

ZEman
21.03.2009, 09:36
а, так для того чтоб загрузить файлы *.rkb я должен сначала загрузить бейсик basic-1200.rk
так ?

ivagor
21.03.2009, 11:00
а, так для того чтоб загрузить файлы *.rkb я должен сначала загрузить бейсик basic-1200.rk
так ?
Именно так.

shapipovo
26.03.2009, 17:13
Как в Юниоре перейти и загрузить допустим диск c:
Можно добавить в эмулятор еще несколько страниц памяти? Интересно возрастет размер а:, или каждая страница будет дополнительным виртуальным диском

b2m
26.03.2009, 17:26
Как в Юниоре перейти и загрузить допустим диск c:
Нужно "сменить кассету", т.е. нажать на тулбаре "воспроизведение" два раза (первый выкинет кассету, второй откроет окно с выбором файла).


Можно добавить в эмулятор еще несколько страниц памяти? Интересно возрастет размер а:, или каждая страница будет дополнительным виртуальным диском
Можно, файл конфигурации изменить так:


...
mem1 : Memory {
size=80000
}
...
dmm : MemMap {
map[0][0000-FFFF]=mem1[00000]
map[1][0000-FFFF]=mem1[10000]
map[2][0000-FFFF]=mem1[20000]
map[3][0000-FFFF]=mem1[30000]
map[4][0000-FFFF]=mem1[40000]
map[5][0000-FFFF]=mem1[50000]
map[6][0000-FFFF]=mem1[60000]
map[7][0000-FFFF]=mem1[70000]
}
...

Однако размер диска А: почему-то всё равно максимум 128Кб

sergey2b
04.07.2010, 00:19
подскажите пожалуйста как можно загрузить бинарный файл в эмулятор РК86 ?
конечная цель отладить свою программу

b2m
04.07.2010, 13:07
В личке уже ответил.

KokaF77
29.11.2010, 09:32
b2m, Можно ли поподробнее о конфигах узнать? Что к чему и с чем едят... :)

b2m
29.11.2010, 11:14
Это-ж сколько писать надо будет!
Знаю, что нехватает документации, я и сам иногда в исходники лезу, чтобы узнать, что там к чему :) Вот соберусь с духом, и наберу.

KokaF77
17.01.2011, 13:33
b2m, есть парочка вопросов по эмулятору "Ириши", точнее по конфигу.
Сначала первый, второй позже...

Возможно ли описать эту структуру



bios : Memory {
rom="Irisha\irisha.rom"
}


В другом виде. Необходимо следующее.

Содержимое ПЗУ описывать не одним бинарником, а двумя (тремя и т.д.)

Например:
bootm (0000-1FFF) + conout (2000-3FFF)

И как продолжение, развитие вопроса следующий вариант:
boot (0000-07FF) + conout (2000-3FFF)

Смысл думаю понятен.

Если возможно, то поясните, пожалуйста, как мне это сделать. Вопрос не ради праздного любопытства. :)

b2m
17.01.2011, 13:46
Можно описать так:

bootm : Memory {
rom="Irisha\bootm.rom"
}

conout : Memory {
rom="Irisha\conout.rom"
}

и изменить раскладку памяти:


mm : MemMap {
map[0][0000-1FFF]=bootm[0000]
map[0][2000-3FFF]=conout[0000]
map[0][4000-FFFF]=mem1[4000]
map[1][0000-FFFF]=mem1[0000]
map[2][0000-FFFF]=mem1[0000]
map[3][0000-FFFF]=mem1[0000]
}

KokaF77
17.01.2011, 13:49
А для варианта boot (0000-07FF) + conout (2000-3FFF)
Процессор эмулятора в промежутке 0800-1FFF будет видеть FF?

b2m
17.01.2011, 13:50
Да.

KokaF77
17.01.2011, 13:53
Ещё один вопрос, сложный на вечер оставлю - сформулировать надо.

Реализована ли возможность подключения образа "дополнительного ПЗУ". По аналогии с тем, что находится на плате расширения? Если да, тот как?

b2m
17.01.2011, 14:35
В книге упоминается "расширитель ПЗУ" и "дополнительное ПЗУ". Первое ничем не отличается от внутреннего и может быть подключено аналогично. А вот дополнительное ПЗУ (со счётчиком адреса) пока не реализовано, и правкой конфига его не сделаешь.

KokaF77
17.01.2011, 14:45
А вот дополнительное ПЗУ (со счётчиком адреса) пока не реализовано, и правкой конфига его не сделаешь.
Это и интересует. Как скоро получится реализовать? Считает ведь программа. Главное реализовать интерфейс через порты ППА. Или я заблуждаюсь?

А,... точно... необходимо же ещё прикрутить счётчики с обвязкой. :)

Gelip
28.05.2013, 01:16
I found interesting thing in EMU 1.01 (Башкирия-2М) on WinXP SP2 NTFS file system. From emu Orion-Pro 2 possible access to real disk or folder on Windows XP :-):

Need these files:


Emulator EMU 1.01 (http://bashkiria-2m.narod.ru/files/emu.rar)
Orion DISK1.ODI (http://bashkiria-2m.narod.ru/files/disk/Orion.rar)
Orion Pro DISK01P.ODI (http://bashkiria-2m.narod.ru/files/disk/OrionPro.rar)
Korvet disk.kdi (http://bashkiria-2m.narod.ru/files/disk/Korvet.rar)

1. Unpack EMU and files e.g. on Desktop
2. Run EMU, select Orion-Pro 2 and from red menu select Orion-PRO
3. Now have error: BDOS ERR ON A: SELECT
4. In drive 1 mount file DISK01P.ODI and press Enter. If still error displayed try mount one more time this file. Must be prompt A>
5. Now run Norton Commander, type nc and press Enter
6. Press TAB to go to right window nc
7. In drive 2 mount file DISK1.ODI, press D and select disk B
8. In drive 2 mount file disk.kdi (selecting All files), press D and select disk B

In this moment in right window Norton Commander is access to real folder on PC - Desktop in this example :-) and possible change file name, delete files etc.
41850

Please Comment!

b2m
29.05.2013, 15:05
Для некоторых компьютеров есть поддержка формирования образа диска из выбранных файлов, если выбирать фильтр "All files".

Error404
30.05.2013, 15:43
In this moment in right window Norton Commander is access to real folder on PC - Desktop in this example :-) and possible change file name, delete files etc.
41850

Please Comment!

При удалении файлов на Орионовском диске реально удаляются живые виндовозные файлы?

Gelip
30.05.2013, 19:46
Yes, path B:\User 0 in NC right panel emulator Orion is path in Windows C:\Documents and Settings\user_name\Desktop

Path in right panel NC = path where is disk.kdi file located. In my case file disk.kdi is on Desktop.

Possible delete, rename files etc.

hantarex
19.03.2014, 09:30
Как подключить устройство от одной машинки к другой?
Например винт с Вектора к ПК8000? просто скопировать из конфига номера портов и имя образа винта?

кажись и правда достаточно скопировать номера портов и имя образа винта:)

скопировал номера портов, имя образа, читаю из 57Н - выдает 01010000b - вроде винт готов:)
этож какие перспективы открываются:)

b2m
19.03.2014, 19:27
Чаще всего, действительно, достаточно скопировать связанные друг с другом фрагменты из одного конфига в другой. Правда, иногда не всё так очевидно как кажется. Если сразу не получилось, то скорее всего потребуется моя консультация :)

hantarex
20.03.2014, 15:22
кстати, команда ЕС не пашет:( точнее, пашет криво.

hantarex
27.03.2014, 12:19
почему в конфигурации с квазидиском дико тормозит утилита power?

b2m
27.03.2014, 12:44
почему в конфигурации с квазидиском дико тормозит утилита power?
Конфигурации какого компьютера?

hantarex
27.03.2014, 12:57
конечно же мой любимый ПК8000:) был уверен, что вы - экстрасенс:)
сильно тормозит ввод в утилите power в KDOS.

b2m
27.03.2014, 14:10
Там вроде в биосе CP/M для определения, нажата ли какая-либо клавиша, неправильная п/п вызывается. Не помню, из каких доков брал адрес вектора п/п в ПЗУ. Давно это было.

Improver
27.09.2019, 13:59
b2m, пытаюсь сделать конфигурацию эмулятора для Вектора-06ц с двумя квазидисками, оба диска совершенно идентичны, первый висит на стандартном порту 10h, второй пусть будет подключён к порту 11h. Без описания сложно понять, как это надо делать, взял стандартную конфу и пробовал по всякому, вот, например, один из вариантов:

main.CPUClock=3MHz
main.Caption="Vector-06c 2КД"
main.ff.speed=10
main.ff.keymask[8]=20
main.scale.x=100%
main.scale.y=150%
main.globalsound=1
main.fullscreen=1280x1024x16
main.fullscreen.scale.x=2
main.fullscreen.scale.y=3

CPU : K580wm80a {
debug=cas
debug=gate
mem=ramdisk
port~[00-03]=sys.data
port~[04-07]=ext.data
port~[08-0B]=mtim.data
port[0C-0E]=vid.color
port[0F]=port0F
port[10]=ramdisk.page
port[11]=ramdisk2.page
port[14]=AY.data
port[15]=AY.regno
port~[18-1B]=dsk.data
port[1C]=dskctl.data[0]
port[20]=clock.regno
port[21]=clock.data
port[50-5F]=hdd.data
port[ED]=gate.call
rst[7]=vid.irq
adjust=4
}

port0F : Register {
read=ramdisk.port0F
write=vid.color
}

mem1 : Memory {
size=10000
}

bios : Memory {
rom="Vector06c\vector.epr"
romselect="Change ROM BIOS"
romfiles="Vector BIOS files (*.epr)|*.epr"
icon=1
}

extrom : Memory {
rom="Vector06c\vector.emr"
romselect="Change external ROM"
romoffset=100
romfiles="ROM files (*.rom)|*.rom"
}

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

ext : K580ww55 {
portA=extrom.lsb
portB=extrom.data
portC[0-6]=extrom.msb
}

ramdisk : V06c-MemMap {
cpustate=cpu.state
rom=bios[0000]
stdmem=mem1[0000]
ramdisk="Vector06c\vector.edd"
}

ramdisk2 : Memory {
ramdisk2="Vector06c\vector2.edd"
}

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

vid : V06c-Video {
mem=mem1[8000]
scroll=sys.portA
control=sys.portB
ruslat=sys.portC[3]
palette.default="80802D2D80802D2D80802D2D80802D2D"
}

mtim : K580wi53 {
clock[0].rate=1/2
clock[1].rate=1/2
clock[2].rate=1/2
gate[0].value=1
gate[1].value=1
gate[2].value=1
}

AY : AY-3-8910 {
freq=1773400
input=sys.portC[0]
input[0]=mtim.out[0]
input[1]=mtim.out[1]
input[2]=mtim.out[2]
}

dsk : KR1818wg93 {
image[0].file="Vector06c\lines.fdd"
image[1].file="Vector06c\stmpro.fdd"
drive[0].tooltip="A:"
drive[1].tooltip="B:"
ext="fdd"
vdpb="2800040F0085017F00C00020000800"
vdpb.boot="Vector06c\lines.fdd"
}

dskctl : K580ww55 {
portA[0]=dsk.drive[0].~on
portA[0]=dsk.drive[1].on
portA[2]=dsk.side[0]
}

cas : tape-recorder {

; бейсик 2.5

biproc[2B05-2B55]=rk
biproc[2B05-2B55].check="C5D50E0057DB01E610"
boproc[2B60-2B84]=sp
boproc[2B60-2B84].check="C5D5F5570E087A0757"

; монитор-отладчик 3.5

tproc[EDDC-EDE2]=rk
tproc[EDDC-EDE2].check="CD1097FB76F3C9"
biproc[F840-F889]=rk
biproc[F840-F889].check="C5D50E0057DB01E610"
boproc[F89B-F8C4]=sp
boproc[F89B-F8C4].check="C5D5F5573E0232FCFF"

; лс-паскаль 2.1 (интерпретатор)

tproc[2728-272C]=rk
tproc[2728-272C].check="CD2C0176F3"
tproc[2805-280B]=rk
tproc[2805-280B].check="CD2C01FB76F3C9"
biproc[0AEC-0B35]=rk
biproc[0AEC-0B35].check="C5D50E0057DB01E610"
tproc[2646-2648]=rk
tproc[2646-2648].check="CDA726"
boproc[0B41-0B65]=sp
boproc[0B41-0B65].check="C5D5F5570E087A0757"

; эмулятор 86РК/Микроши

biproc[FC31-FC7C]=rk
biproc[FC31-FC7C].check="F3C5D50E0057DB01"
boproc[FC7E-FCA7]=rk
boproc[FC7E-FCA7].check="C5D5F5160879074FE601EE01D300"

filter="Vector CAS files (*.cas)|*.cas|RK86 files (*.rk?)|*.rk?"
ext="cas"
noisefilterfreq=3000
}

gate : dosgate {
}

clock : KR512wi1 {
cmos="Vector06c\cmos.dat"
}

hdd : cf-ide {
drive[0].image="Vector06c\vector.hdd"
drive[0].geometry=200C5H18S
}
Подскажите, плз., как правильно всё настроить?

b2m
27.09.2019, 14:24
Не думаю, что так что-либо получится. Для вектора пришлось делать накрученную раскладку памяти V06c-MemMap, отчасти из-за того, что она реагирует на слово состояния процессора. Так что ramdisk в конфиге Вектора это не просто ОЗУ. Я посмотрю по исходникам, что можно сделать, возможно при нынешнем состоянии эмулятора можно через простые компоненты сделать раскладку памяти Вектора, и тогда она будет расширяемой.

Improver
27.09.2019, 15:29
Не думаю, что так что-либо получится. Для вектора пришлось делать накрученную раскладку памяти V06c-MemMap, отчасти из-за того, что она реагирует на слово состояния процессора. Так что ramdisk в конфиге Вектора это не просто ОЗУ.Да, возможно это будет сложнее, чем кажется на первый взгляд... Ещё вариант пробовал, сделать на основе конфига "Vector06c-romdisk.cfg", там применяется некая раскладка "eramrom.map", но понять, что там и как работает я до конца не смог. :(


Я посмотрю по исходникам, что можно сделать, возможно при нынешнем состоянии эмулятора можно через простые компоненты сделать раскладку памяти Вектора, и тогда она будет расширяемой.Заранее благодарен! :)

Pyk
29.09.2019, 00:10
Improver, в Emu80 тоже не получится сделать правкой конфига :(

b2m
29.09.2019, 19:20
Improver, "eramrom.map" позволяет задать, в каких областях (кратно 100h байт) будет открываться ERAM/ROM диск. В твоём случае это не нужно.

Посмотрел исходники. От V06c-MemMap отказаться нельзя, там учитывается реакция на клавиши БЛК+ВВОД/БЛК+СБР. Другими средствами это сделать нельзя. Стал думать, как выкрутиться, попробовал два таких элемента. Вроде сработало, правда сначала был конфликт с реакцией на вышеуказанные клавиши, так что порядок элементов V06c-MemMap в конфиге в данном случае очень важен. Конфиг во вложении, тестируй.

Единственное пока (на мой взгляд) отличие от реала: приоритет портов 10,11 не постоянный, в какой последний раз запись была, тот и активируется. Это накладывает определённые ограничения на программирование: сначала выключаем один квазидиск, и только потом включаем другой.

70136

Improver
30.09.2019, 08:34
Единственное пока (на мой взгляд) отличие от реала: приоритет портов 10,11 не постоянный, в какой последний раз запись была, тот и активируется. Это накладывает определённые ограничения на программирование: сначала выключаем один квазидиск, и только потом включаем другой.Я думаю, будет не сложно придерживаться этого правила, хотя, как я понимаю, не получится одновременное использование двух КД, например, если первый работает в режиме "ОЗУ", то ко второму нельзя обращаться в режиме "СТЕК"... Попробую протестить этот конфиг, спасибо.

Improver
01.10.2019, 11:10
b2m, работает новая конфигурация, единственно, добавил строку "ramdisk2="Vector06c\vector2.edd"" в секцию "ramdisk2".

b2m
01.10.2019, 12:51
Рад, что смог помочь.

Improver
28.04.2020, 13:32
b2m, заметил интересную особенность эмуляции Вектора: в некоторых программах индикатор "РУС" почему-то не работает, как на реале. Конечно, в этих программах он постоянно включается/выключается, но на реале эти кратковременные выключения незаметны, даже видимая яркость светодиода не уменьшается, а в эмуляторе он больше выключен, чем включён. Не замечали такое его поведение?

b2m
28.04.2020, 13:56
У меня нет реала, сравнить не с чем.

litwr
01.12.2020, 20:17
Прежде всего выражу восхищение эмулятором. Но возникло несколько вопросов:
1) проблемы с функцией "paste key macro". Игнорирует многие символы, например, скобки, кавычки, +, *, ... Некоторые символы заменяет, например, вместо равно приходит двоеточие, вместо точки-с-запятой - "собачка", ... Можно ли это как-то исправить правкой конфигурации? Работал с Корветом.
2) в полном дистрибутиве emu-2019 у Корвета нет поддержки работы с кассетами, но нашёл отдельную сборку, где такая поддержка есть. Посмотрел на разницу в конфигах и сделал поддержку кассет там, где её по умолчанию не было. Но без упомянутой отдельной сборки понять, что именно править в конфиге невозможно. Есть ли где-нибудь справка по конфигурационным файлам?

b2m
02.12.2020, 10:50
1. это была экспериментальная фича, но поскольку худо-бедно работала (эмулировала нажатия клавиш), то я её оставил. С Корветом не тестировал, если что и можно сделать, то поправить как-то layout.kbd, конфиг править смысла нет, это общая фича для всех эмулируемых компов.
2. справки по конфигам нет, времени на её создание тоже. Но есть люди, которые разобрались самостоятельно, по имеющимся примерам конфигурационных файлов.

litwr
05.12.2020, 12:31
1. это была экспериментальная фича, но поскольку худо-бедно работала (эмулировала нажатия клавиш), то я её оставил. С Корветом не тестировал, если что и можно сделать, то поправить как-то layout.kbd, конфиг править смысла нет, это общая фича для всех эмулируемых компов.


Фича с клавиатурными макросами очень полезная. В эмуляторе БК gid что-то подобное работает хорошо. Пытаюсь разобраться с этим на эмулируемом Корвете. Всё получается просто, если клавиша на хосте работает напрямую без shift. А как задавать клавиши, которые на хосте идут через shift, например, круглые скобки или равно? У меня есть предположение, что в макросах есть какие-то специальные средства для указания на нажатие shift, а может и других модификаторов. Верно?
Аналогично совершенно непонятно, как на Корвете определяются клавиши нажатые с shift. Нажал, например, shift-6 и получил в Корвете значок & - как это задается? Должна быть какая-то табличка для модификатора shift? Самому с этим не разобраться. Надеюсь только на Вашу помощь.
Непонятно ещё, чем отличаются названия, начинающиеся с x- (x-up, x-left, ...), от названий, которые без x- в начале? Может это так называемые "серые" клавиши? В корветном лейауте таких нет, но они есть у других компьютеров.
Пробую также разобраться с кнопкой полной скорости. Сделал для Корвета в конфиг

main.ff.speed=10
main.ff.keymask[B]=1

и добавил строку из двух символов F9 (она получилась 11-й или В-й в 16-й системе) в конец файла layout.kbd и режим полной скорости заработал. Но что означают числа 10 и 1? Подскажите, пожалуйста. Взял эти числа копированием из конфигурации БК. Есть подозрение, что это не полная скрость, а 10-е ускорение...

b2m
05.12.2020, 14:36
Рассказываю, как дело было. Понадобилось мне для загрузки файлов, которые ассоциируются по расширению в emu.ext, после старта эмуляции симулировать нажатия клавиш. Например, набирать команду загрузки файла в Бейсике. Для Львова это выглядит примерно так (в файле emu.ext):

lvt[0] : loader {
id="9:D0"
config="Lvov"
cmd[0].delay=1000
cmd[0].keymacro="BLOAD{lshift-on}22{lshift-off},R{enter}"
mode=5
}

Однобуквенные названия клавиш из layout.kbd идут как есть, остальные заключаются в фигурные скобки. Кроме того, можно в фигурных скобках добавить -on/-off для симуляции одновременного нажатия.

В качестве эксперимента добавил возможность устанавливать макрос при вставке текста (заменив перевод строки и пробел на {enter} и {space}). Получилось то, что получилось.

По поводу x- клавиш: если в файле layout.kbd нет таких, то стрелки и другие клавиши доп.клавиатуры действуют одинаково. Ну чтобы не писать везде left|x-left right|x-right (то есть "или"). Иначе можно различать клавиши основной и доп.клавиатуры.


main.ff.speed=10
main.ff.keymask[B]=1
Числа в конфиге в основном шестнадцатиричные, то есть ускорение в 16 раз, а маска клавиши из 11-того ряда, 1 это самая левая в строке (самая правая будет 80)

litwr
04.01.2021, 13:19
Обнаружил возможно бага в эмуляции БК0011М. У меня не получается заблокировать клавишу СТОП через порт записи магнитофона. Команда

mov #^B0001000010000000,@#^O177716 не работает, а с эмулятором gid работает. Хотя с эмулятором BK2010 тоже не работает - его автор признал, что не допилил. :(

dk_spb
24.05.2021, 20:00
Рад, что смог помочь.
А не планируется дописывать эмуляцию СМ-1800 ?
Сейчас при попытке загрузить DOS она дает ошибку "unknown MONID version"

b2m
26.05.2021, 22:03
Сейчас при попытке загрузить DOS она дает ошибку "unknown MONID version"
Какой образ диска загружался?

Radon17
26.05.2021, 22:54
Вот тут недавно образы 8" дискет от СМ 1800 выложили, может удастся их запустить?
https://zx-pk.ru/threads/33253-diskety-8-quot.html?p=1118144&viewfull=1#post1118144

b2m
26.05.2021, 23:29
Уже скачал. CP/M запустился, но у меня BIOS жёстко прибит в нулевые адреса, надо с картой памяти разбираться.

dk_spb
27.05.2021, 00:01
Я пробовал, например, это - PPIDM sistema SI mart92.bin
L DOS - он грузит, но ошибка про версию MONID
А какой CP/M запустился?

b2m
27.05.2021, 11:28
А какой CP/M запустился?
DLYA TRANSLYACII CONTROLNAYA 2 16.05.92.bin
Я его переименовал в cpm.gmd, иначе почему-то выдавал bad sector, пока не разобрался почему.

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

Хотя нет, от имени не зависит, зависит от случайных байт в памяти, что-ли. Вобщем разбираться надо.

dk_spb
27.05.2021, 11:38
У меня он работает без бэд блоков.
Обратите внимание, там в теме с образами они выложены два раза: превый раз образы с ошибками. Может из-за этого у Вас бэД сектор?

b2m
27.05.2021, 11:43
Да нет, я по второй ссылке скачивал. То запускается, то нет. А программы (например XDIR) вылетают в MONID, точнее даже не грузятся (я ставил бряк на 0100). Какие-то проблемы с эмуляцией.

b2m
27.05.2021, 14:43
Посмотрел, почему программы в CP/M не запускаются. Ну что сказать, неподходит этот MONID 1.3, он подразумевает, что перед буфером чтения будет 7 байт для заголовка, который читает контроллер дисковода (через ПДП). Драйвер находится ниже 0800, и если сектор должен считываться в эту область, то он сначала читается во временный буфер, который в этом CP/M находится впритык ко временному стеку (для обращения к биосу). Вобщем стек портится, возврат идёт на случайный адрес. Нужно искать "правильный" MONID (и возможно с другим контроллером дисковода). Там на дисках есть какие-то файлы с подобным названием, но их сначала как-то выцарапать нужно.

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

Если сдвинуть временный стек на десяток байт (для этого нужно после загрузки CP/M поправить пару байт), то CP/M работает нормально, все программы работают.

dk_spb
27.05.2021, 15:05
Выдрал с одного из дисков MONID 1.0
С ним ни CPM ни DOS не грузятся. Но, возможно, это заготовка MONID и там внутри надо что-то прописывать.
Посмотрю на досуге что в ПЗУ на плате. 75488

b2m
27.05.2021, 15:31
Выдрал с одного из дисков MONID 1.0
С ним ни CPM ни DOS не грузятся.
Конечно не грузятся, и порты дисковода другие, и алгоритм работы совершенно иной. Пока не понял, что за контроллер.

dk_spb
27.05.2021, 15:50
В том-то и дело что изначально в СМ1800 был контроллер дисковода на четырех 589ИК02. Типа как в Искра-226

b2m
27.05.2021, 15:52
Пока нагуглилось только магическое слово PLx45D5, но информации по нему нет.

dk_spb
27.05.2021, 15:57
Нет. Это магическое слово - это сами дисководы.

b2m
27.05.2021, 15:59
Да, вот кое-что: http://emuverse.ru/wiki/PLx45D.5 только это 5-ти дюймовый дисковод.
Про контроллер пока не нарыл.

dk_spb
27.05.2021, 16:09
только это 5-ти дюймовый дисковод.

С каких пор? Это два 8" на одном шпинделе.

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

Там такие устройства (одно из двух):
СМ 1800.5602 - это накопитель СМ5602 (как раз на упомянутом польском дисководе) плюс контроллер для СМ1800
СМ 1800.5635.09 - это накопитель СМ5635 (а это уже на болгарских) плюс контроллер для СМ1800

b2m
27.05.2021, 16:16
Это два 8" на одном шпинделе
Значит на emuverse ошибка.

dk_spb
27.05.2021, 16:32
Да, вот кое-что: http://emuverse.ru/wiki/PLx45D.5 только это 5-ти дюймовый дисковод.
По ссылке открываем ТО. Ищем страницу 20 (по документу, не по файлу).
"Радиус дорожки 00 - 9,175 см", то есть диаметр дорожки = около 183 мм, что никак не влезает на 5.25"=133мм диск

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

Я бы предположил что вот это оно http://www.bitsavers.org/pdf/intel/MDS2/9800422_Intellec_Double_Density_Hardware_Reference _Jun79.pdf
C базовым адресом 78h

b2m
27.05.2021, 17:22
Я бы предположил
Ну это то, что сейчас есть, и используется в MONID 1.3. А в 1.0 там сектор программно читается/пишется.

dk_spb
27.05.2021, 17:30
Значит надо искать 1.2
Хотя может мы неправильно понимаем причину.
с диска blank.bin все программы запускаются. Хотя монитор тестов (MONT) если не находит тестов на диске - ругается, а при их наличии (как сейчас в образе) непрерывно выдает на экран много раз "выберите тест...." и игнорирует нажатие на клавиатуру.

b2m
27.05.2021, 22:32
Беглый анализ кода показал, что контроллер самый простейший, типа как в Радио-86РК, умеет только читать/писать байты дорожки, с синхросбоем или без, ну и головку туда-сюда двигать. Принцип понятен, можно эмуль допиливать.

dk_spb
27.05.2021, 22:41
можно эмуль допиливать.
А есть уверенность что это надо? Всё-таки такой контроллер видимо самый-самый ранний. Я на выходных попробую достать свои платы от 1800 и посмотреть что там зашито.
Только у меня процессор для 1800 уже тот, который в 1810 ставился, не с одной, а с четырьмя РФ2.

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

Ну и странно что какие-то диски нормально с MONID 1.3 работают, а какие-то (с самым обычным DOS) выпендриваются.
Не особо верится что была такая несовместимость по версиям MONID

b2m
28.05.2021, 09:37
Судя по тому, что почти на всех дисках в первых секторах есть догружаемая часть MONID 1.0, то эмуляция контроллера дисковода, который использовался с этой версией монитора, мне кажется нужна. Версия 1.3 ничего не догружает, а вот 1.0 при обращении к диску загружает первые сектора в область 0С00 и обращается к ним. Так что все диски, скорее всего, использовались на компьютере с версией 1.0.

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


Я на выходных попробую достать свои платы от 1800 и посмотреть что там зашито.
Только у меня процессор для 1800 уже тот, который в 1810 ставился, не с одной, а с четырьмя РФ2.
Не, ну 1810 это уже 8086. Предлагаешь разобраться с контроллером дисковода для 1810? А смысл?

dk_spb
28.05.2021, 09:44
Не, ну 1810 это уже 8086. Предлагаешь разобраться с контроллером дисковода для 1810? А смысл?
Не-не. Я не это предлагаю. Просто я к тому что процессоров с СМ1800 было несколько разных. Первый см1800.2201, а потом .2202.xx еще девяти видов. И у меня есть только последний .2202.09, так что не факт что в ПЗУ будет то что нужно. А я смогу только в выходные глянуть. И у меня есть еще дискеты, тоже надо глянуть есть ли там везде monid 1.0 в начале, потому что по маркировке у меня дискеты частично такие же. Вполне могла быть более новая версия под другой monid
Ну и, в принципе, для меня всегда было загадкой как 1810 работает в режиме 1800. То есть по факту в 16-битной машине стоит 8-ми битная плата процессора. Как она общается с 16-ти битной периферией, как идет выбор и понимание что мы сейчас грузим систему для см1800, а не для 1810....Но это уже не про эмуляцию 1800

b2m
28.05.2021, 09:52
для меня всегда было загадкой как 1810 работает в режиме 1800
Как пить дать - эмуляция 1800 :)

dk_spb
28.05.2021, 10:57
Как пить дать - эмуляция 1800
Может быть, но зачем тогда там физически стоит двухплатный проессорный модуль от СМ1800, со своими ПЗУ и ОЗУ?

L Juriy
28.05.2021, 12:58
dk_spb,
На шине S100 есть плата, которая состоит из 2 процессоров 8085 и 8088.
Так и СМ1810 наверное так же организовано, тем более что и шины почти одинаковы.

dk_spb
28.05.2021, 14:21
L Juriy, Меня больше волнует конкретная реализация. Вот соберу я 1810 с платой 1800. Как мне запустить DOS1800, а не DOS1810?
В описании сказано что поддерживаются обе. А документации вообще никакой нет на эту тему. То есть теоретически она была, а по факту - недоступна.

L Juriy
28.05.2021, 17:17
dk_spb,
Увы и ах, но я СМ1810 в глаза не видел, так что более конкретно ничего подсказать не могу.
Вот тут (http://evm.ho.ua/computers/cm_1810/index.php) не смотрел?

dk_spb
28.05.2021, 19:10
L Juriy, Смотрел, конечно. Жаль, будем искать ;-)

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


Не, ну 1810 это уже 8086. Предлагаешь разобраться с контроллером дисковода для 1810? А смысл?
Ну да, уже несколько иначе всё. Вот четыре РФ2 с процессорного модуля МЦП-1 (СМ1800.2202.09 на основе ИК80А). Подписаны русскими буквами (слева направо) Г, В, Б, А.
http://oldpc.su/0/12.rar
Вроде как Г сидит в F800-FFFFh и является монитором, но уже совсем другим.
У меня еще есть несколько таких процессорных модулей, но вероятность что в них другое содержимое - невелика

L Juriy
28.05.2021, 20:23
НУ немного посмотрел выложенные диски и пришел к некоторым умозаключениям.
Те диски которые помечены как DOS, по буржуйским прототипам есть ISIS от ALTAIR, только изменены названия ISIS на DOS.
Эмулятор ALTAIR есть в SIMH, Там же есть в исходниках эмулятор дисков для него. Это информация к размышлению.
Я попробовал подсунуть диски под SIMH но он "собака" подвисает намертво. На образах дисков от ISIS он оказывается тоже виснет.
Вот такие эксперементы.

dk_spb
28.05.2021, 21:02
L Juriy, Все почти так. Только ISIS вроде к Альтаиру никакого отношения не имеет, а имеет отношение к Intel MDS.
И даже в вики про это пишут https://en.wikipedia.org/wiki/ISIS_(operating_system)
И тут же мы приходим к тому, что считается что СМ1800 и этого самого MDS и драли.
Так что Вы почти правы, непонятно только причем тут Альтаир ;-)

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

L Juriy, Все почти так. Только ISIS вроде к Альтаиру никакого отношения не имеет, а имеет отношение к Intel MDS.
И даже в вики про это пишут https://en.wikipedia.org/wiki/ISIS_(operating_system)
И тут же мы приходим к тому, что считается что СМ1800 c этого самого MDS и драли.
Так что Вы почти правы, непонятно только причем тут Альтаир ;-)

b2m
28.05.2021, 22:17
Сделал эмуляцию контроллера дисковода для MONID 1.0 (пока только чтение). Все диски (которые пробовал) грузятся и работают нормально. Ну разве что, терминал, который сейчас используется (15ИЭ-00-013), мягко говоря не подходит (или я не умею его настраивать). Надо делать эмуляцию терминала ВТА 2000. Документации у меня нет.

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

Вот кстати да, DOS там это ДОС-1800, а она содрана с ISIS-II

dk_spb
28.05.2021, 22:43
А я таки нашел у себя .2201. Но, увы, только половину. То есть ту плату, на которой ик80. А вот озу и пзу, естественно, на другой :-(

По терминалам там похоже какой-то из ВТА2000-1x. Выложил что есть (кроме схем) на oldpc.su/9. Если надо - есть образы ПЗУ от ВТА2000-15.
Есть еще доки по ВТА2000-3 (СМ7204), но он может быть совсем другой.

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


Сделал эмуляцию контроллера дисковода для MONID 1.0
В очередной раз снимаю шляпу. СПАСИБО!!!

MiX
28.05.2021, 23:42
Документации у меня нет.
Смотрите - здесь. (http://doc.pdp-11.org.ru/Terminals/BTA2000/)

L Juriy
29.05.2021, 04:53
dk_spb,
ISIS основная система в ALTAIR и естетвенно она перешла и в MDS.

dk_spb
29.05.2021, 05:29
dk_spb,
ISIS основная система в ALTAIR и естетвенно она перешла и в MDS.
Что-то нигде не нашел про ISIS для Альтаира. Да и не верится, ибо ISIS=Intel System Implementation Supervisor, а Altair DOS всё же MITSовская

L Juriy
29.05.2021, 13:12
dk_spb,
Да ты прав, это у меня небольшой заскок, ну ничего бывает особенно в мои годы.

dk_spb
29.05.2021, 13:29
L Juriy, Всё нормально, я просто частенько занудствую в таких вещах.

b2m
30.05.2021, 15:56
Доделал запись дисков и выбор диска СМ-1800. Программы на диске blank.bin работают с диском данных, обычно во втором приводе. Примеров таких дисков я не нашёл, но его можно инициализировать программой DSLM.

b2m
08.06.2021, 20:43
Смотрите - здесь. (http://doc.pdp-11.org.ru/Terminals/BTA2000/)
Скачал ромы, с горем пополам объеденил в один файл (порядок РТ-шек не указан). Анализу поддаётся плохо, похоже что 30.rt5 битая.
Пока не найдём "правильные" ромы, с эмуляцией ВТА2000-15 придётся подождать.

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


Если надо - есть образы ПЗУ от ВТА2000-15.
Если они отличаются от тех, что по ссылке MiX, то надо. А ВТА2000-15 или ВТА2000-15М? Они вроде кардинально отличаются...

MiX
10.06.2021, 00:02
порядок РТ-шек не указан
Указан так как на корпусах микросхем платы БПЗУ. Фото по той же ссылке.

Пока не найдём "правильные" ромы
Есть от МАМЕ, но там вроде от 15M- ROM (https://www.planetemu.net/rom/mame-roms/vta2000)

L Juriy
14.06.2021, 06:19
dk_spb,

Ну и, в принципе, для меня всегда было загадкой как 1810 работает в режиме 1800.
По описанию MDS III это происходит следующим образом;
1 Запускается ДОС1800 обычным образом
2 Запускается команда RUN для перехода в режим СМ1810 и получаешь приглашение >.
3 Выполняешь команды ДОС1810.
4 Для возврата в ДОС1800 выполняешь коианду EXIT.
На Нивке должно быть что то подобное.
У тебя на плате которая СМ1800.2202.09 какой процессор стоит?

dk_spb
14.06.2021, 08:37
У тебя на плате которая СМ1800.2202.09 какой процессор стоит?
ВМ80А. На ЛС чуть позже отвечу.

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


На Нивке должно быть что то подобное.
На Нивке нет, там один процессор - вм86. Нивка - это уже "переделка" СМ1810 под PC совместимость

L Juriy
14.06.2021, 18:41
На Нивке нет, там один процессор - вм86. Нивка - это уже "переделка" СМ1810 под PC совместимость
Блин а я считал, что это одно и тоже.
Ну тогда конечно СМ1810 вместо Нивка.

litwr
11.09.2021, 17:02
На эмуляции БК символ подчеркивания с клавиатуры не набирается вроде никак.

EDIT. Попробовал в WAV-файл записать с БК0011М - пишет, но потом этот файл считать не может.
WAV, сделанный в gid-эмуляторе, считался отлично. Значит проблемы только с записью.

litwr
21.09.2022, 18:44
Хорошо бы поддержку Квант-8 добавить.

andrews
21.09.2022, 19:40
И тут же мы приходим к тому, что считается что СМ1800 и этого самого MDS и драли
C MDS Series II драли КРАМ во ВНИИЭМе. И там ISIS-II запускалась по умолчанию. Кстати в этом эмуляторе ее нигде не обнаружил. Там был монитор M3.01 он переписывался из нулевых адресов в верхнюю память, после чего ПЗУ переключалось в нижние 16К ОЗУ.
А с MDS Series III драли КРАМ-2 с процессором 8086. Но ее мы не успели получить из Александрии Кировоградской, заказали в 1990 году и потом все рухнуло и обнулилось

b2m
22.09.2022, 11:42
Хорошо бы поддержку Квант-8 добавить.
Хорошо бы. Что нужно изменить в эмуляции Корвета, чтобы получился Квант-8?

litwr
23.09.2022, 18:06
Хорошо бы. Что нужно изменить в эмуляции Корвета, чтобы получился Квант-8?

К сожалению, у меня информации мало. В 1991 довелось иметь контакты с организацией, которая хотела сбыть партию Квантов в Москве. Они их называли просто Корветами. Выглядели машинки солидно, крепкие металлические корпуса, хорошие цветные мониторы, два дисковых привода. У меня с тех пор остались только четыре дискеты и мануалы по софту. Нашел в сети информацию, что на поздние Кванты вместо одного флопповода ставили жесткий диск. Также нашел, что у Кванта расширенная клавиатура. Мы на Квантах работали только с паскалем и системными утилитами вроде PIP.
С просто Корветами дела никогда не имел. О некоторой несовместимости Квантов и Корветов с удивлением узнал только в этом году, когда попробовал загрузиться с оставшейся у меня дискеты в эмуляторах. В сети нашёл информацию, что у Квантов другое ПЗУ. Взял ПЗУ здесь (https://zx-pk.ru/threads/14495-kvant-8-informatsiya.html?p=863815&viewfull=1#post863815) - оно отличается от того что тут (https://www.phantom.sannata.org/viewtopic.php?f=18&t=7671&start=33) и второе ПЗУ неполное, только 8 КБ из 24 и с ним загрузка не идёт, хотя там возможно нужен другой загрузочный диск. Странно ещё, что в первом ПЗУ (полном) кодировка неправильная для бейсика из ПЗУ и для застaвки при загузки ОС Квант-8!
Так что ваш эмулятор нормально эмулирует Квант-8, возможно только стоило бы добавить конфигурацию Кванта-8 (особенно ценно было бы иметь правильную конфигурацию для клавиатуры - расширенная клавиатура Кванта используется, например, в Экспресс-паскале). И, конечно, пользуюсь случаем поблагодарить Вас за уникальный эмулятор.

andrews
24.09.2022, 12:16
Спасибо за первоначальную поддержку автором МСУВТ В7. Подробности здесь (https://zx-pk.ru/threads/34668-nasovetujte-prodvinutyj-dizasm8080-s-emulyatorom/page2.html).

dk_spb
14.12.2022, 15:10
b2m
А нет ли планов по исправлению эмуляции Ириши?
Очень много софта виснет, даже игрушки на Форте. Но, самое печальное, что не грузится ОС третьей версии.
Образ диска с ОС я могу предоставить.

b2m
14.12.2022, 15:36
Планов пока нет, но если скинешь архив с проблемным софтом, может быть на новогодние выходные посмотрю, что можно сделать.

dk_spb
14.12.2022, 16:16
Упс, момент, я кажется разобрался.

Improver
20.03.2023, 15:43
Конфиг во вложении, тестируй.

Единственное пока (на мой взгляд) отличие от реала: приоритет портов 10,11 не постоянный, в какой последний раз запись была, тот и активируется. Это накладывает определённые ограничения на программирование: сначала выключаем один квазидиск, и только потом включаем другой.Пользовался данной конфигурацией без проблем до настоящего времени (с учётом указанных ограничений), но вот решил дополнить биос возможностью загрузки со второго квази-диска, и ничего не вышло -- при первой записи в порт 11h сразу отваливается прошивка и эмулятор переключается на внутреннюю память. :( Это можно как-то исправить, или тоже отнести на ограничения?

b2m
20.03.2023, 21:08
Это можно как-то исправить, или тоже отнести на ограничения?
Могу попытаться. Дай какой-нибудь тест, и поясни, как работает, и как должно.

Improver
21.03.2023, 09:44
Могу попытаться. Дай какой-нибудь тест, и поясни, как работает, и как должно.
Да, вот самый простейший вариант, просто отключение квазидиска:

.ORG 00000h
L_0000: DI
XRA A
OUT 011h
L_LOOP: JMP L_LOOP
.END
Он же в откомпилированном виде: 78625
Если его подключить в качестве прошивки, то ожидаемого зацикливания на метке L_LOOP не происходит, при пошаговом исполнении после OUT видно сразу подмену памяти.
Но если взять стандартную векторовскую конфигурацию с одним КД и просто заменить в ней порт квазидиска на 11h, то этот пример отрабатывает там без глюков. Аналогично этот пример работает, если его в эмулятор загрузить в качестве программы (не прошивки), на любой конфигурации.

b2m
21.03.2023, 11:11
Если его подключить в качестве прошивки
Ясно. Проблема в том, что БЛК+ВВОД не доходит до второго квазидиска. Так что правкой конфига тут не отделаешься. Нужно делать поддержку второго квазидиска непосредственно в коде маппера Вектора.

Improver
21.03.2023, 11:41
Проблема в том, что БЛК+ВВОД не доходит до второго квазидиска.Понятно. Надеюсь, в следующих версиях это будет исправлено. :)

И второй вопрос: как к конфигурации ПК-6128ц прикрутить квазидиск (а лучше два)? Конфигурация квазидиска Векторовская, только, пожалуй, сигнал "СТЕК" там формируется по типу адаптеров Z80 для Вектора, он будет подан только при командах PUSH, POP и XTHL. Я попробовал это сделать сам, но кроме глюков ничего не вышло...

b2m
21.03.2023, 22:08
правкой конфига тут не отделаешься
Хотя, попробуй этот вариант (каскадное включение, порт 10h имеет приоритет): v06c_ramdisk2.zip (http://bashkiria-2m.narod.ru/files/v06c_ramdisk2.zip)

По такому-же принципу можно наверное и для ПК-6128ц подключить.

Improver
22.03.2023, 19:10
Хотя, попробуй этот вариант (каскадное включение, порт 10h имеет приоритет)Проверил по-быстрому, вроде работает, с оговорками. А именно:
- в эмуляторе подтягиваем два разных образа КД, загружаемся с первого -- всё ок
- удаляем на первом КД файл OS.COM, со второго КД не грузится, хотя загрузочный файл находит, но по ошибке чтения переходит к дискете.
- просто подтягиваем заново образ второго КД -- всё работает, проверяем: на первом диске OS.COM нет, грузится со второго.

Загрузчик использовал этот (https://zx-pk.ru/threads/8778-varianty-zagruzchikov.html?p=1175218&viewfull=1#post1175218), если что. Причина такого поведения пока не понятна, посмотрю завтра подробнее, хотя это и не сильно расстраивает -- главное, теперь работает. Большое спасибо!

b2m
22.03.2023, 21:41
со второго КД не грузится
А то, что грузится со второго КД, работает с портом 10h или 11h? Как вообще планируется работа?

Improver
22.03.2023, 22:19
А то, что грузится со второго КД, работает с портом 10h или 11h?В данном случае со второго грузил обычный МДОС, работающий с КД на порту 10h. Как вариант, там может быть программа, которая вообще не использует квазидиски, это не имеет значения -- загрузчиком просто считывается в память файл OS.COM со второго КД и запускается на исполнение.


Как вообще планируется работа?Как резервное устройство для загрузки, думаю. Некоторые программы используют квази-диск в качестве расширения памяти (что вполне естественно), при этом они могут легко удалить его содержимое, и в этом случае поможет второй КД с системой.

b2m
23.03.2023, 16:31
Разобрался, почему не работало. Поначалу мне казалось, что нет разницы, какой маппер обрабатывает БЛК+ВВОД. Оказалось есть. Данное событие достаётся последнему мапперу, соответственно второй квазидиск должен в конфиге быть вторым. То есть нужно поменять местами ramdisk и ramdisk2. Перезалил конфиг.

Просто если БЛК+ВВОД обработает первый ramdisk, а у него кваз не включен, то в области 0000-7FFF он выдаст содержимое загрузчика. А нам нужно, чтобы через stdmem мы достучались до второго квазидиска.

Gelip
23.03.2023, 21:14
b2m
Не могли бы вы добавить в эмулятор EMU 1.0.1 oпции включить/выключить каналы AY, VI53, BEEP, как в эмуляторе Virtual Vector?
78642

b2m
23.03.2023, 21:53
oпции включить/выключить каналы AY, VI53, BEEP
Я подумаю, но не обещаю.

Improver
24.03.2023, 12:40
Перезалил конфиг.Да, с этим конфигом всё работает, пока глюков не заметил. Респект!:)

b2m
24.03.2023, 12:49
Там есть небольшой глючёк: если "подтянуть" первый квазидиск, то БЛК+ВВОД сработает для первого (из-за реализованого автосброса при смене содержимого диска) со всеми вытекающими. Но обычно .edd содержит OS.COM и загрузиться должен он, а не со второго квазидиска.

Denn
16.04.2023, 14:34
b2m, приветствую!

Давненько я не 8-битничал (с 2021-го). Сейчас снова решил "вспомнить молодость" :)
К сожалению, с тех времён жизнь заставила сменить железо на ББ и поставить эту грёбаную 10-ю винду..
Эмуль под ней вроде даже запускается (хотя запуск почему-то странно долгий 2-3 секунды, раньше на более древнем железе под вин7 было моментально) и даже работает, но при выходе из него через пару секунд выскакивает вот эта ошибка:

https://forum-img.guitarplayer.ru/2023/04/16/aaezS.jpg

эмуль этот, если что:

https://forum-img.guitarplayer.ru/2023/04/16/aazNR.jpg


С чем это м.б. связано?

b2m
16.04.2023, 19:00
Не знаю, на 10-ке не пробовал. А как обстоят дела с эмулятором Пыхонина? В планах переделать под Qt/OpenGL, вот всё думаю, стоит ли овчинка выделки.

ivagor
16.04.2023, 19:03
Не знаю, на 10-ке не пробовал.
У меня в 10ке нормально работает.

b2m
16.04.2023, 19:18
Возможно как-то связано с версией DirectX, в эмуляторе используется довольно древняя версия DirectDraw.

Denn
16.04.2023, 19:36
Пробовал в свойствах ярлыка выставлять разные режимы совместимости, ситуация никак не меняется.
Единственное, если ставить ХРюшу, то потом ещё вот это окно вылезает:

https://forum-img.guitarplayer.ru/2023/04/16/aaxVv.png

Но сам эмуль работает корректно, только тормоза при запуске и эта ошибка при выходе из него..

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

Пока нарыл только это:

https://forum-img.guitarplayer.ru/2023/04/16/aaaQp.png

ivagor
16.04.2023, 20:06
эмуль работает корректно, только тормоза при запуске
У меня так себя ведет в 10ке Virtual Vector. Помогает отключение антивируса.

Denn
16.04.2023, 20:36
Помогает отключение антивируса.

Никогда в жизни не пользовался антивирусами. Нет такого ПО на компе, как класс.

ivagor
17.04.2023, 06:28
Нет такого ПО на компе, как класс.
Если 10ка, то Defender то есть, но если я правильно понял, сразу отключен.

Denn
22.04.2023, 01:09
Есть новость по проблеме "Fail Fast". Случайно обнаружил, что если в эмуляторе нажать кнопку "Скриншот", но в появившемся окне диалога сохранения ничего не сохранять, а просто закрыть его крестиком, то выход из эмулятора без этой ошибки. Эффект стабильный!

Ещё наблюдение. В моей старой сборке файл EMU.exe имеет размер 286720 байт, а в свежескачанном архиве 307200. При этом оба выдают себя за версию 1.01. В свежем архиве эмулятор запускается без задержки, но и ошибка "Fail Fast" также моментально появляется при выходе. Старая сборка запускается в окно выбора платформы сразу, а вот после выбора платформы ощутимый лаг, и примерно такой же лаг до всплывания ошибки винды после закрытия программы. Что-то где-то надо бы подпилить ;)

Pyk
25.04.2023, 14:52
Denn, с возвращением! :)
Не удалось решить проблему?
Я уже более 3 лет постоянно на Wndows 10 (и Linux), defender включен, проблем с эмулятором b2m не было, запускается также мгновенно. Мне кажется, что проблема в самой системе, м. б. переустановить, хотя бы поверх? Версия Windows 10 вообще достаточно актуальная? Обновления установлены, с драйверами видео/аудио все ок?

b2m
25.04.2023, 17:46
Случайно обнаружил, что если в эмуляторе нажать кнопку "Скриншот", но в появившемся окне диалога сохранения ничего не сохранять, а просто закрыть его крестиком, то выход из эмулятора без этой ошибки. Эффект стабильный!
Очень интересно. А если другой диалог открытия файла так использовать? Например выбор ПЗУ или диска?
И ещё вопрос по скриншоту: предлагает только *.bmp сохранить или разные форматы?

ZEman
25.04.2023, 22:07
у меня уже лет 6 стоит 10ка, никаких проблем и тормозов с запуском emu или virtual vektor.
антивирусов у меня тоже нет (только защитник виндовс есть).

скорее всего Denn, тебе надо ставить обновления и различные библиотеки.

Denn
26.04.2023, 22:17
Не удалось решить проблему?
Я уже более 3 лет постоянно на Wndows 10 (и Linux), defender включен, проблем с эмулятором b2m не было, запускается также мгновенно. Мне кажется, что проблема в самой системе, м. б. переустановить, хотя бы поверх? Версия Windows 10 вообще достаточно актуальная? Обновления установлены, с драйверами видео/аудио все ок?

Нет. Комп у меня в мастерской, я там бываю по выходным только, и то не по каждым. Винда можно сказать свеже установленная (сборка где максимально всё лишнее выпилено и отключено), ещё не замученная (ставил в феврале этого года), минимальный необходимый софт и всё. Драйвера все ок. Остальной софт (в т.ч. мои поделки на билдере аж ещё со времён ХР) работает без нареканий.

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


Очень интересно. А если другой диалог открытия файла так использовать? Например выбор ПЗУ или диска?
И ещё вопрос по скриншоту: предлагает только *.bmp сохранить или разные форматы?

Всё проверю на майских, отпишусь.

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


скорее всего Denn, тебе надо ставить обновления и различные библиотеки.

Ох, не любитель я ставить всякие обновления, особенно без понимания. Я сторонник принципа: работает - не трогай)

Pyk
27.04.2023, 00:47
сборка где максимально всё лишнее выпилено и отключено
Подозреваю, что в этом и источник проблемы, что-то было не лишним...


работает - не трогай
Значит, не совсем работает, придется трогать ;)

Denn
03.05.2023, 15:27
Очень интересно. А если другой диалог открытия файла так использовать? Например выбор ПЗУ или диска?
И ещё вопрос по скриншоту: предлагает только *.bmp сохранить или разные форматы?

Попробовал.
1) Убирает ошибку открытие следующих диалогов: Open, Save, Save As, Save Screenshot, Change ROM-disk
2) Не убирают ошибку диалоги открытия образов дискет: N1, N2
3) Также не влияет полноэкранный режим, спрятать мышку, ресайзы экрана, показ/непоказ строки статуса, тулбара, вывод "о программе".
4) Если нажать "New", то открытие этого диалога очень прилично тормозит, зато если после этого закрыть программу, то ошибка FailFast выскакиваем прям моментально, без типичной задержки.

Снял небольшой ролик - https://www.youtube.com/watch?v=El7lxgDWmYY

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

PS п.4 уже попробовал после того, как снял видео
PPS также пробовал выбирать эмуляцию других платформ (Орион-ПРО, Океан-240, РК) - всё тоже самое.

b2m
03.05.2023, 15:57
По поводу п.4, это ожидание окончания потока, отвечающего за звук. Но я сократил этот таймаут уже лет 10 как назад (после того как перешёл на Win7). В XP всё работало как задумано, а в Win7 почему-то по другому. Разобраться не удалось, т.к. компиляцию и отладку делаю в виртуалке. Отличие поведения 1 и 2 ставит меня в тупик. Я грешил на диалог открытия файлов, но тут похоже что-то другое.

Ещё возможна проблема с GDIPLUS.DLL, т.к. именно она выгружается/деинициализируется по закрытию эмулятора. Но опять-таки, одни догадки, как проверить - непонятно. Можно, конечно, найти все версии на компе и переименовать временно, чтобы проверить. Если она не будет найдена, скриншоты только в bmp будут. Сам решай.

Denn
03.05.2023, 16:30
EXE'шник с которым видео от 2016 года:
https://forum-img.guitarplayer.ru/2023/05/03/h8Mir.jpg


Нашёл ещё вариант от 2019-го:
https://forum-img.guitarplayer.ru/2023/05/03/h8vTC.jpg

с ним всё также, но окно ошибки всегда выскакивает моментально при закрытии эмулятора.

GDIPLUS.DLL в папке с эмулятором нету, у меня нашлись только тут:
https://forum-img.guitarplayer.ru/2023/05/03/h81Au.jpg

Может версия какая-то не такая?

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

Ещё обратил внимание, что при закрытии процесс эмулятора исчезает мгновенно из диспетчера задач, а ошибка всплывает позже этого.

И ещё вот этапы запуска эмулятора через диспетчер задач, если это как-то может прояснить:

https://forum-img.guitarplayer.ru/2023/05/03/h8sgS.png

https://forum-img.guitarplayer.ru/2023/05/03/h87MR.png

b2m
03.05.2023, 16:43
с ним всё также, но окно ошибки всегда выскакивает моментально при закрытии эмулятора.
Вот, это версия с сокращённым таймаутом.


Может версия какая-то не такая?
Для меня всегда было загадкой, почему версии настолько отличаются. Как мне кажется, грузится та, что в каталоге SysWOW64, можно попробовать переименовать её временно. Но скорее всего ошибка не пропадёт.


Ещё обратил внимание, что процесс эмулятора исчезает мгновенно из диспетчера задач, а ошибка всплывает позже этого.
Это ни о чём не говорит. Мало ли что делает винда, после закрытия процесса. Может она показывает только состояние главного потока. А то, что ошибка всплывает позже может намекать на то, что поток, отвечающий за звук, продолжал работать и после закрытия эмулятора.

Denn
03.05.2023, 16:53
Винда вот эта: "Windows 10 Pro 22H2 19045.2364 + Office 2021 x64 by BoJlIIIebnik RU.iso"
Но всё же я думаю, что конкретная сборка винды тут ни при чём.

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


А то, что ошибка всплывает позже может намекать на то, что поток, отвечающий за звук, продолжал работать и после закрытия эмулятора.

Такое разве возможно?! Родительский процесс разве не контролирует закрытие своих потоков?

Ну ок, если это гадит процесс звука, то что даёт открытие/закрытие некоторых файловых диалогов?

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

Мне всё таки странны тормоза между выбором платформы и её запуском. Их точно раньше не было. Такое ощущение, что происходит разводка печатной платы моделируемой 8-битки)) При этом загрузки процессора нет вообще.

b2m
03.05.2023, 17:09
Родительский процесс разве не контролирует закрытие своих потоков?
Правильно написанная программа сама завершает потоки. При закрытии программы я тоже жду, когда завершится поток, но он похоже не завершается. Отсюда и таймаут.


Ну ок, если это гадит процесс звука, то что даёт открытие/закрытие некоторых файловых диалогов?
Хороший вопрос. Ответа только пока нет.


Мне всё таки странны тормоза между выбором платформы и её запуском.
При выборе платформы предыдущая закрывается, соответственно и поток, отвечающий за звук.
Если при старте не выбирать платформу, а нажать Esc, то выбор платформы по New будет без тормозов.

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

Вопрос только в том, почему ошибка только у тебя.

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

Я не настаиваю на использовании последней версии, но пользоваться совсем уж древней версией всё-же как-то странно.

Denn
03.05.2023, 17:16
Если при старте не выбирать платформу, а нажать Esc, то выбор платформы по New будет без тормозов.

Проверил - действительно. И если не выбирать никакую платформу, то при выходе ошибки нет.

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

Возможно каким-то образом через настройки запретить запуск процесса звука вообще?

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


Вопрос только в том, почему ошибка только у тебя.

Это не вопрос. Сколько реально пользующихся эмулятором сегодня? Сколько среди них живут под Вин10 ? Сколько из них зарегистрированы на форуме? Сколько готовы заморачиваться обратной связью с автором эмулятора, если что-то не совсем ровно работает? Не удивлюсь, если я один и есть такой :)

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

P.S. через две недели выйду из отпуска и проверю на работе, там тоже 10-ка.

b2m
03.05.2023, 17:42
Возможно каким-то образом через настройки запретить запуск процесса звука вообще?
К сожалению, не предусмотрено.

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

Есть предположение, что процесс звука как-то не так завершается и остаётся зомби-процессом. А винда при закрытии процесса это обнаруживает, и выдаёт ошибку.
Проверить можно так: в версии от 2016 года запустить платформу, открыть и закрыть диалог, убирающий ошибку, затем открыть диалог новой платформы, но потом нажать Esc.
То есть скомбинировать п.1 и п.4
Проконтролировать задержку при открытии новой платформы, при закрытии эмулятора и наличие ошибки.
Полагаю, при закрытии эмулятора задержки не будет, но ошибка будет.

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

Если есть желание копаться дальше, могу сделать настройку в файле EMU.ini, отключающую создание процесса звука.

Denn
03.05.2023, 19:42
Проверить можно так: в версии от 2016 года запустить платформу, открыть и закрыть диалог, убирающий ошибку, затем открыть диалог новой платформы, но потом нажать Esc.
То есть скомбинировать п.1 и п.4
Проконтролировать задержку при открытии новой платформы, при закрытии эмулятора и наличие ошибки.
Полагаю, при закрытии эмулятора задержки не будет, но ошибка будет.

Поэкспериментировал по-всякому. В общем, факт открытия любой платформы взводит ошибку выхода, а передёргивание диалога ROM-диска (или Save и т.п.) деактивирует её навсегда. Между ними можно делать сколько угодно New-Cancel операций, на картину выхода не влияет. Подробнее:

1) Запускаем, но жмём отмену (не грузим платформу). New срабатывает моментально. Так можно сколько угодно делать. Выход из эмуля - без ошибки.

2) Запускаем эмуль, выбираем платформу. Жмём New - всё виснет насмерть на время лага, появляется новая платформа. Можно вновь сделать New, также лаг. Если делать отмену новой платформы и вновь жать New, то лага нет. Выход с ошибкой через время лага.

3) Запускаем, но жмём отмену (не грузим платформу). New срабатывает моментально. Далее выполняем п.2 (только без запуска эмуля, он у нас уже запущен) - всё также как в п.2 :)

4) Самое интересное! Запускаем, но жмём отмену (не грузим платформу). New срабатывает моментально. Передёргиваем диалог "Save". Жмём New, выбираем платформу, затем закрываем эмуль - ошибки нет!

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

5) Всё как в п.4, но не выходим из эмуля, а жмём New - лаг. Но последующие выборы платформ или отмены картину не меняют - выход из эмуля без ошибки.

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


Если есть желание копаться дальше, могу сделать настройку в файле EMU.ini, отключающую создание процесса звука.

Да. Надо же добить вопрос :)

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

Поправка к п.2

Лаг между выходом и появлением ошибки есть только в случае, если выходим с загруженной платформой. Если после передёргивания New-Cancel, то ошибка после закрытия моментально без лага.

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

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

b2m
03.05.2023, 22:55
Надо же добить вопрос
Ну тогда, если не трудно, скачай последнюю версию с моего сайта и проверь, есть ли ошибка.
Затем замени EMU.exe из архива http://bashkiria-2m.narod.ru/files/test.zip и снова проверь. В этой же версии можно добавить в EMU.ini строчку main.nosound=1 и отключить звук совсем.

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

Вот, кстати, та-же проблема с http. Если кликнуть на ссылку, ничего не скачается. Только если скопировать её и открыть её в новом окне.

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

Кстати, в последних версиях, ожидание окончания потока вообще без таймаута, то есть вечно. Значит поток всё-же завершается. В тестовом варианте я немного изменил порядок завершения звукового процесса, возможно это поможет.

Denn
03.05.2023, 23:41
Свежий из архива: по ошибке всё тоже самое, только время лага стало сильно меньше. При нажатии New слышно шелчки, и сразу после них открывается меню. Т.е. лаг явно на время звуков.
Тестовый с отключалкой: без команды отключения в инишнике всё тоже самое, что и с новым из архива; при main.nosound=1 вообще всё шикарно - ни лагов (эмуль летает!), ни ошибки!

Выходит косячанский в звуке. Но почему фиксит ошибку передёргивание файловых диалогов???

P.S. у меня на борту три звуковых карты, две из которых с поддержкой ASIO, но ведь это вряд ли как-то может влиять.. или может?.. Эмуль пищит через встроенный звук на материнке, который выбран для звуков винды.


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


Вот, кстати, та-же проблема с http. Если кликнуть на ссылку, ничего не скачается. Только если скопировать её и открыть её в новом окне.

У меня в Опере эти ссылки открываются и качаются без проблем. Траблы тока с картинками и только оформленными тегами [имг].

b2m
04.05.2023, 12:07
Но почему фиксит ошибку передёргивание файловых диалогов???
Сам удивляюсь. Однако изменения в тестовом варианте не помогли. Досадно.

Denn
04.05.2023, 13:29
Однако изменения в тестовом варианте не помогли. Досадно.

А если поток звука запускать всё как было, но сам звук не дёргать (тред-пустышка, не делать обращение к аудио API или как там оно устроено?).
Т.е. понять на каком конкретно участке борода.
В вин7 работа со звуком как-то иначе, чем в ХР; а в вин10 ещё более иначе, чем в вин7 (за конкретику не скажу, тока слышал звон..).

Pyk
04.05.2023, 20:50
Винда вот эта: "Windows 10 Pro 22H2 19045.2364 + Office 2021 x64 by BoJlIIIebnik RU.iso"
Но всё же я думаю, что конкретная сборка винды тут ни при чём.
Понадобилась мне виртуалка для кое-каких экспериментов. Решил скачать и попробовать эту сборку... Ошибка воспроизвелась ;)

https://pic.maxiol.com/images2/1683222508.1560140064.failfast.png

Denn
05.05.2023, 10:47
А как обстоят дела с эмулятором Пыхонина?

Сегодня попробовал, в нём нет этой ошибки.

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

Также, в сравнении, заметил артефакты по самому звуку, записал на видео:


https://www.youtube.com/watch?v=PLPe8_5qyPs

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

Насколько догадываюсь, каждый акт воспроизведения звука предваряется неким щелком "включения звукового тракта". По факту загрузки/выгрузки платформы тоже слышны удары по динамикам, по идее их быть не должно, это какая-то лишняя коммутация.

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


Понадобилась мне виртуалка для кое-каких экспериментов. Решил скачать и попробовать эту сборку... Ошибка воспроизвелась ;)

Имеется в виду эта сборка Винды или эта сборка эмулятора? Если первое, то на других сборках 10-ки ошибка не воспроизводится?

Pyk
05.05.2023, 22:47
Имеется в виду эта сборка Винды или эта сборка эмулятора?
Эта сборка винды.

Другие "левые" сборки винды не пробовал, на оригинальных образах проблем нет.

b2m
06.05.2023, 00:08
2) Не убирают ошибку диалоги открытия образов дискет: N1, N2
Поставил 10-ку в виртуалку. Эти диалоги тоже убирают ошибку. Ничего не напутал?
У меня создалось впечатление, что любой диалог открытия файла убирает ошибку.

Pyk
06.05.2023, 01:02
Поставил 10-ку в виртуалку.
Ту же сборку?

Denn
06.05.2023, 08:46
Эти диалоги тоже убирают ошибку. Ничего не напутал?
У меня создалось впечатление, что любой диалог открытия файла убирает ошибку.

Проверил ещё раз. Про диалоги N1/N2 актуально для экзешника от 2016-го года. Эмуль из свежей сборки действительно гасит ошибку и этими диалогами тоже.

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

У меня давно лежит на сайте архив с настроенными Орионами, изменённой раскладкой клавы под них, нужными образами ПЗУ - http://denn.ru/8bit/emu_b2m/emu.rar
Вот в этой версии диалоги N1 и N2 не убирают ошибку.

Denn
06.05.2023, 12:04
Есть интересная новость!!!

Дело всё же не в бобине, в смысле не в звуке. Ну или не только в звуке.
Взял тестовую версию emu.exe с отключенным звуком в инишнике. Работаю - типа всё хорошо, всё летает и ошибки при выходе нет.
Решил потестировать виртуальные дисководы. Нашёл у себя пустышку empty.odi, подкинул эмулю через диалог N1, копировал туда файлы Орионом, сравнивал, что-то ещё делал, потом выхожу - та самая ошибка! Сначала подумал, что показалось. Решил перепроверить.
В общем, фишка следующая. Если пользоваться odi-образом только на чтение, то ошибки нет. Если что-то писать в образ, то при выходе из эмуля та самая ошибка FailFast.
Такие дела.

b2m
06.05.2023, 21:49
Мдя, мелкософт умеет подкинуть загадку...

Pyk
07.05.2023, 14:45
b2m, так ты воспроизвел проблемы в виртуалке на той же сборке или на оригинальном образе? Может дело-то не в MS а в криворуких делателях сборок?

b2m
07.05.2023, 19:13
Я воспроизвёл в виртуалке на сборке от того-же делателя: Windows 10 Pro 22H2 19045.2311 + Office 2021 x64 by BoJlIIIebnik RU (тут номер билда чуть чуть другой)
Другие ссылки с тем-же номером билда были для торрента, я не справился.

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


Может дело-то не в MS а в криворуких делателях сборок?
Я не исключаю, что набор DLL, которые в совокупности грузятся, как-то конфликтуют друг с другом, но это было бы совсем уж просто. Возможно тут что-то другое. Надо какую-то IDE с отладчиком ставить. Так не понятно.

ZEman
07.05.2023, 23:11
нафига такие сборки берёте от всяких Васей Пупкиных.
берите чистые сборки винды и никаких проблем не будет.
у меня Windows 10 Pro 22H2 19045.2913

Pyk
08.05.2023, 02:29
Подтверждаю, на чистой сборке и в виртуалке все ок.

Denn
08.05.2023, 16:31
нафига такие сборки берёте от всяких Васей Пупкиных.
берите чистые сборки винды и никаких проблем не будет.
у меня Windows 10 Pro 22H2 19045.2913

Лично мне не нужна вся эта встроенная телеметрия с ежедневными отчётами "папе" и прочими совершенно ненужными наворотами. Нашёл вариант сборки, прочёл все отзывы - мин нет. Установил, проверил на всём софте, которым пользуюсь - тоже всё ок. Были бы малейшие сомнения или глюки какие-то, не ставил бы.

Denn
08.05.2023, 19:22
Подтверждаю, на чистой сборке и в виртуалке все ок.

И тормозов от звука при перевыборе платформы тоже нет?

Hunta
08.05.2023, 20:03
и прочими совершенно ненужными наворотами
Серверные варианты Windows

electroscat
13.05.2023, 06:34
b2m, приветствую!

Давненько я не 8-битничал (с 2021-го). Сейчас снова решил "вспомнить молодость" :)
К сожалению, с тех времён жизнь заставила сменить железо на ББ и поставить эту грёбаную 10-ю винду..
Эмуль под ней вроде даже запускается (хотя запуск почему-то странно долгий 2-3 секунды, раньше на более древнем железе под вин7 было моментально) и даже работает, но при выходе из него через пару секунд выскакивает вот эта ошибка:

https://forum-img.guitarplayer.ru/2023/04/16/aaezS.jpg

эмуль этот, если что:

https://forum-img.guitarplayer.ru/2023/04/16/aazNR.jpg


С чем это м.б. связано?



Вот у меня тоже самое, при выходе Fail Fast ошибка. ТОже вин 10. До этого стоял другой дистрибтив WIN10 - там работало без ошибок. Поставил обрезок, с выкинутыми многочисленными функциями которые что либо отправляют в майкрософт - и вот такая ерунда. Причем, это единственная программа которая как то не так работает в этой винде. ТОрмозов нет, а вот эта ощибка при выходе регулярна.. Что то с этим вопросом прояснилось ?




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

Вообще по описанию все 1 в 1 - так же если открыть диск 1 и диск 2 - ошибки нет при выходе, так же если не выбрать платформу ошибки нет.. В общем, все что описано вше - у меня все 1 в 1. Есть ли какео то решение уже ?

b2m
13.05.2023, 08:12
Пока не прояснилось.

Pyk
13.05.2023, 22:39
Забыл отписаться: у меня в урезанной сборке в виртуалке также ошибка есть, но тормоза не замечены.
Но та виртуалка чисто для экспериментов, в основной системе все ок. Не советую такие сборки, лучше самому отключить что не нужно...

Denn
14.05.2023, 12:14
Не советую такие сборки, лучше самому отключить что не нужно...

А чем отличается самостоятельное отключение (скорее всего по тем же инструкциям из интернетов) от такового, сделанного кем-то другим, скорее всего более опытным в данном вопросе? ;)

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

Если задуматься, то отключение служб это не правка программного кода ОС, не подмена системных библиотек на какие-то неподходящие (кривые) версии и т.п.. Если бы что-то важное было отключено (не работала какая-то часть WinAPI), то не работала бы какая-то функция программы и скорее всего была бы осмысленная ошибка.
Работа "внутреннего" кода эмулятора вряд ли чем-то отличается от работы под другой версией ОС, конфликт скорее всего где-то на участке взаимодействия с WinAPI.

Pyk
15.05.2023, 16:51
А чем отличается самостоятельное отключение (скорее всего по тем же инструкциям из интернетов) от такового, сделанного кем-то другим, скорее всего более опытным в данном вопросе?
Да хотя бы тем, что ты контролируешь процесс и всегда можешь вернуть все обратно, если что-то пойдет не так.

electroscat
15.05.2023, 17:18
Да хотя бы тем, что ты контролируешь процесс и всегда можешь вернуть все обратно, если что-то пойдет не так.

Вопрос глубоко философский, пошло ли что нибудь не так... У меня только на рабочем столе 71 ярлык запускающий программы, оторые используются часто, там и компас, и фрикад, и кикад и pcad и vegas pro и разного рода hex редакторы, а... 10 штук эмуляторов разных... и это только те, которые я часто использую. Система у меня стоит с 2020 года.. В общей сложности программ почти две сотни... Проблемы только у одной. Нужно ли это рассматривать как "что то пошло не так" или как "данная программа как то не так работает с конкретной системой... Реально, из всего моего зоопарка софта - только у этого эмуля есть проблема...А вообще, систему мне готовил очень серьезный компьютерщик ручками, это не сборка,. Нам с ним необходимо было провести многоуровневую трансляцию одного многопоточного мероприятия, одновременно проводились как минмум 5-6 мероприятий, каждое как минимум две камеры, а центральный зал 4 камеры, дрон и две вэбки... Для этого нужно было очень тщательно подготовить системку, выкинуть любые намеки на стороннюю передачу. Я в процессе не учавствовал, мне товарищь накатывал готовый образ и ставил дрова, и естественно я с этого образ тоже после установки дров сделал.. Нужно ли мне из за одного эмуля снести все это и поставить "чистую сборку" ? Ну философский вопрос.... Я в целом и не обращал внимания три года на это сообщение и звук... Но увидел что кто то описал - узнал свою беду и решил тоже написать...

b2m
15.05.2023, 18:14
Проблемы только у одной.
Насколько я понимаю, это из-за того, что программа эта написана с использованием средств и технологий, которые были актуальны в 1998-2002 годах.


Нужно ли это рассматривать как "что то пошло не так"
Это нужно рассматривать как офигенную обратную совместимость, которую поддерживает всеми нами нелюбимый мелкософт в своей ОС.

Вы можете привести пример программы, которая была бы разработана 20 лет назад и работает на всех версиях линукс без перекомпиляции, просто запустив бинарник?
Нет, я конечно могу написать на ассемблере 32-битный "Hello, World!" для линукса используя только syscall, и он будет работать везде, но мы же сейчас не о бесполезных крошечных программах, а о программах, использующих в общей сложности более десятка dll.

electroscat
15.05.2023, 19:27
Насколько я понимаю, это из-за того, что программа эта написана с использованием средств и технологий, которые были актуальны в 1998-2002 годах.

В целом, и такая идея приходила в голову... Вполне вероятно. То что я писал на борланд дельфи уже в большинстве случаев не запускается....


Это нужно рассматривать как офигенную обратную совместимость, которую поддерживает всеми нами нелюбимый мелкософт в своей ОС.

Это вообще отдельная тема, на которую нервов не хватает, да и времени жалко...


Вы можете привести пример программы, которая была бы разработана 20 лет назад и работает на всех версиях линукс без перекомпиляции, просто запустив бинарник?
Нет, я конечно могу написать на ассемблере 32-битный "Hello, World!" для линукса используя только syscall, и он будет работать везде, но мы же сейчас не о бесполезных крошечных программах, а о программах, использующих в общей сложности более десятка dll.

Сомнительно что такое возможно, если программа более менее в порядке..., согласен на 100%.

Под вин возможно pcad 2006 - до сих пор пользуюсь... А и max2win - ото динозавр, интерфейс еще от WIN 3... Тоже пользуюсь до сих пор, для Альтерок стареньких редактор схем с компилятором и программатором... В остальном наверное все.

Hunta
15.05.2023, 20:02
Это нужно рассматривать как офигенную обратную совместимость, которую поддерживает всеми нами нелюбимый мелкософт в своей ОС.
Где то у меня валяется книжка (в электронном виде), в который товарищь (или товарищи) из команды разработки Win95 описывает - почему то или иное работает так или не иначе, а попутно рассказывает о том, как они обеспечивали, что бы ЛЮБАЯ программа из Windows 3.1 работалы бы под Win95 и сколько они для этого программ купили, что бы проверить. Читалось, как захватывающий триллер - особенно объяснения - почему так, а не иначе было сделано.

Pyk
16.05.2023, 00:18
Проблемы только у одной. Нужно ли это рассматривать как "что то пошло не так" или как "данная программа как то не так работает с конкретной системой...
Может не до конца выразил свою мысль - если ты сам что-то отключал, то проще найти, что влияет на эту проблему и разобраться в причинах. Даже если проблема на самом деле не в системе, а в эмуляторе, и просто, какой-то, например, отключенный сервис в системе как-то косвенно влияет... В готовой сборке разобраться куда сложнее. Я на днях уже пытался сравнить сравнить две системы в двух виртуалках - с ошибкой и без, пытаясь "привести их к общему знаменателю". Увы не получилось - система с ошибкой упорно выдает ошибку, а без ошибки - не выдает ;)

b2m
16.05.2023, 10:36
отключенный сервис в системе как-то косвенно влияет
Вполне возможно. Например, либо отсылать что-либо в мелкософт, если это разрешено, либо выдавать сообщение. Однако это не объясняет, почему мой эмуль завершается с ошибкой.

electroscat
25.05.2023, 10:46
Вот кстати, вопрос по эмулятору, существенный. Как в режиме эмуляции Вектора 06Ц с квазидиском - сохранить квазидиск в файл, и потом из файла его монтировать с определенными параметрами ? Есть ли такая опция ?

b2m
26.05.2023, 10:15
Вот кстати, вопрос по эмулятору, существенный. Как в режиме эмуляции Вектора 06Ц с квазидиском - сохранить квазидиск в файл, и потом из файла его монтировать с определенными параметрами ? Есть ли такая опция ?



ramdisk : V06c-MemMap {
cpustate=cpu.state
rom=bios[0000]
stdmem=mem1[0000]
ramdisk="Vector06c\vector.edd"
ramsave="Vector06c\vector.sav"
}

Можно сохранять в тот-же файл, но лучше в другой, и копировать в оригинальный, если изменения понравились :)

Improver
11.07.2023, 18:09
Здравствуй, b2m, есть вопрос по эмуляции ПК-6128ц, в честности по эмуляции памяти. Изучая схему и документацию, можно понять, что переключение банков памяти на ПК-6128ц должно выполнятся так, вот все возможные комбинации:



Параметр в OUT 0Eh (4-1 биты и/или 8-5 биты)

Адреса 0000-7FFFh
Адреса 8000-FFFFh


0 (0000)

Банк 0

Банк 1



1 (0001)
Банк 0
Банк 0


2 (0010)
Банк 0

Банк 3



3 (0011)
Банк 0

Банк 2



4 (0100)
Банк 1
Банк 1


5 (0101)
Банк 1
Банк 0


6 (0110)
Банк 1
Банк 3


7 (0111)
Банк 1
Банк 2


8 (1000)
Банк 2

Банк 1



9 (1001)
Банк 2
Банк 0


A (1010)
Банк 2
Банк 3


B (1011)
Банк 2
Банк 2


C (1100)
Банк 3

Банк 1



D (1101)
Банк 3
Банк 0


E (1110)
Банк 3
Банк 3


F (1111)
Банк 3
Банк 2



Выделенное красным явно указано в документации, как "наиболее рациональные значения", остальное можно понять из схемы. Биты 4-1 определяют подключённый для чтения банк, биты 8-5 -- банк для записи.
"Банк 0" = 0000h-7FFFh, "Банк 1" = 8000h-FFFFh, "Банк 2" = 10000h-17FFFh, "Банк 3" = 18000h-1FFFFh.

В ходе экспериментов оказалось, что в эмуляторе не совсем правильно переключается память, например, при отправке кода 011h память распределяется точно также, как и при отправке 000h, т.е. "Банк 0, Банк 1" вместо ожидаемого подключения "Банк 0, Банк 0".


ORG 0000h
L_START: DI
MVI A, 033h ; загр. конфигурацию памяти
L_BM: OUT 00Eh ; отправляем...
; 33h (Банк 0 - Банк 2) чтение и запись
; 22h (Банк 0 - Банк 3)
; 11h (Банк 0 - Банк 0)
; 00h (Банк 0 - Банк 1)
SUI 011h ; следующее значение -- тут можно поставить точку останова и проверить память.
JP L_BM ; если < 80h
JMP L_START
END

ivagor
11.07.2023, 19:11
Если что, монитор тестов для 6128 в emu нормально отрабатывал (https://zx-pk.ru/threads/8146-pk-6128ts-obsuzhdenie.html?p=1106242&viewfull=1#post1106242) тест озу, а в VV спотыкался.

Improver
12.07.2023, 06:51
Если что, монитор тестов для 6128 в emu нормально отрабатывал (https://zx-pk.ru/threads/8146-pk-6128ts-obsuzhdenie.html?p=1106242&viewfull=1#post1106242) тест озу, а в VV спотыкался.Да, тест отрабатывает, но он, скорее всего, использует режимы 00h, 22h и 33h, и тут проблем нет. Мне же понадобился немного нестандартный режим 11h для теста ОЗУ из прошивки и тут оказалось, что не всё верно переключается.

ivagor
12.07.2023, 08:18
Полного списка вариантов я не сохранил, но я там написал, что в тесте используются еще как минимум 55h и 66h.

Improver
12.07.2023, 09:04
в тесте используются еще как минимум 55h и 66h.55h? Проверил сейчас, на адреса 8000-FFFF при этом тоже подключается "Банк 1" вместо ожидаемого "Банка 0". Вполне возможно, что в эмуляторе тест памяти просто дважды проверяет "Банк 1"... :(

ivagor
12.07.2023, 16:00
Какие значения пишет в порт 0Eh тест озу:
Преамбула до банок (убрал повторы и отсортировал) - 00, 02 ,03, 20h, 22h, 23h, 30h, 32h, 33h
Сам тест когда банки:
00
Банк1 - чередует 22/00h
02, 33h
Банк2 - чередует 00h/33h
22h
Банк3 - чередует 00h/22h
20h, 0, 55h
Банк0 - чередует 66h/55h
22h

Improver
12.07.2023, 17:29
Сам тест когда банки:Я бы тут немного уточнил:
-----
00
Банк1 - чередует 22/00h -- экран в Банке 3 (обновляется при конфигурации 22h), программа в Банке 0
02, 33h
Банк2 - чередует 00h/33h -- экран в Банке 1, программа в Банке 0
22h
Банк3 - чередует 00h/22h -- экран в Банке 1, программа в Банке 0
20h, 0, 55h -- тут заметна небольшая задержка, т.к. переливаются данные
Банк0 - чередует 66h/55h -- экран снова в Банке 3, программа в Банке 1
22h
-----
Вот на последнем этапе в эмуляторе на самом деле тестируется Банк 1 вместо нулевого, как я понял. По крайней мере, короткий тест выше (https://zx-pk.ru/threads/8399-f-a-q-po-emulyatoru-bashkiriya-2m.html?p=1182276&viewfull=1#post1182276) показывает, что это так -- это легко заметить, если занести метки в память, по которым можно отследить подключённый банк.

ivagor
12.07.2023, 19:02
В emu можно посмотреть куда реально пишет/откуда читает тест в адресном пространстве mem1
Банк1 - mem1 8E00-FFFF
Банк2 - mem1 10700-17FFF
Банк3 - mem1 18100-1FFFF
Банк0 - mem1 8100-FFFF
Действительно похоже с банком 0 ошибка, насколько понимаю должен писать/читать mem1 0100-7FFF

Improver
19.07.2023, 10:25
b2m, а что Вы думаете по этой ошибке эмулятора (https://zx-pk.ru/threads/8399-f-a-q-po-emulyatoru-bashkiriya-2m.html?p=1182331&viewfull=1#post1182331)? Её возможно как-то исправить?

ZEman
18.05.2025, 18:09
вопрос по пк поиск.
подскажите пожалуйста чем можно открыть образ жёсткого диска hdd.img и скопировать туда файлы игр и программ ?
или может где-то есть готовые образы ?

b2m
19.05.2025, 12:19
Не самый удобный способ (давно это было), но я монтировал образ в QEMU, грузился в ДОС с дискеты, а вторую дискету монтировал как каталог, оттуда и переносил файлы. Сейчас может уже есть более удобные программы. А в линуксе вообще без проблем - смонтировал образ (vFAT поддерживается "из коробки") и копируй туда чего хочешь.

yevrowl
19.11.2025, 15:15
Можно ли каким-нибудь образом загружать исходный код на Бейсике в ПК «Башкирия-2М»?

b2m
19.11.2025, 15:18
Для некоторых компьютеров реализован ввод текста через буфер обмена. Но не всегда работает как надо.
View / Paste key macro

tnt23
19.11.2025, 16:19
b2m, в конфигурации для "Океана-240" прописаны следующие биты порта КНГМД:


dskctl : Register {
write[2]=dsk.drive[0].on
write[2]=dsk.drive[1].~on
write[5]=dsk.side
read[0]=dsk.drq
read[3]=dsk.drive[0].on
read[6]=dsk.side
read[7]=dsk.irq
}

Мне думается, что read[7] должен отдавать сигнал MOTST (одновибратор в КНГМД, запускается на несколько секунд узким отрицательным импульсом при записи в бит 3 порта 25h).

ЗЫ сообщение, наверное, нужно бы перенести сюда - https://zx-pk.ru/threads/8373-pozhelaniya-i-plany-po-emulyatoru-bashkiriya-2m/

yevrowl
19.11.2025, 16:58
Для некоторых компьютеров реализован ввод текста через буфер обмена. Но не всегда работает как надо.
View / Paste key macro

Спасибо, но вот скопировал код в буфер обмена, нажимаю Paste key macro и ничего не происходит.

b2m
19.11.2025, 17:45
на Бейсике в ПК «Башкирия-2М»?
Не сразу понял, что речь про ПК Башкирия-2М, а не эмулятор в целом.

В эмуляторе три конфигурации Башкирии:
АРМ-ШК Башкирия - это первая версия, сравнима с Микро-80, там всё сложно
Башкирия-2М диск - это учительский вариант с дисководом
Башкирия-2М ром - это ученический вариант с ПЗУ вместо дисковода

Проще всего грузить в "Башкирия-2М диск", но нужно скачать с сайта образы дисков для Башкирии, скопировать в каталог B2M.
После сброса нужно нажать любую клавишу пока моргает курсор, чтобы загрузиться с диска.
По-умолчанию в первом дисководе будет disk2.cpm, там на второй стороне (диск В: ) есть Бейсик, называется XY.COM, его можно запустить командой B:XY
Во второй дисковод можно выбрать каталог, при этом (при открытии) в строке "тип файлов" выбрать All files, и выбрать какой-нибудь файл, к примеру TEST.BAS
Тогда этот файл будет на диске C: и его можно будет загрузить в бейсике командой LOAD "C:TEST",A
Последний параметр в команде говорит, что нужно грузить как текст, а не как бинарник.

yevrowl
27.11.2025, 14:05
Можно ли каким-нибудь образом передавать исходники в BK-0010_01, и если нельзя, то можно ли вызывать «Бейсик Вильнюс» в БК-0010fdd?

b2m
27.11.2025, 15:30
Теоретически, в этом бейсике тоже есть команда LOAD "NAME", которая загружает программу в текстовом виде, но он грузит блоками по 256 байт с заголовком. Я попробовал сохранить и загрузить файл длиннее 256 байт - не получилось. Вот Фокал, к примеру, сохраняет одним блоком, и в нём загрузка/сохранение работают.

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

Если очень хочется, можно ввести программу вручную и сохранить командой CSAVE (токенизированная программа сохраняется одним блоком).

b2m
27.11.2025, 18:24
Чтобы сохранённые по SAVE файлы загружались обратно, нужно удалить в конфиге строку:

iproc[116640-116710]=bk

Я даже сам забыл, что когда-то искал причину: post537801 (https://zx-pk.ru/threads/19998-vopros-po-vilnyuskomu-bejsiku.html?p=537801&viewfull=1#post537801)

В принципе, формат несложный, можно написать конвертор для текстового файла.

yevrowl
27.11.2025, 22:17
Если очень хочется, можно ввести программу вручную и сохранить командой CSAVE (токенизированная программа сохраняется одним блоком).

В telegram-группе по БК подсказали вот такой способ: https://github.com/tereshenkovav/BKBasic2Asc

b2m
28.11.2025, 00:00
подсказали
Не уверен, что мой эмуль схавает. Вот конвертор для моего: bas2asc.zip (https://bashkiria-2m.narod.ru/files/bas2asc.zip)
Про загрузку написал в предыдущем посте.

yevrowl
28.11.2025, 00:30
Чтобы сохранённые по SAVE файлы загружались обратно, нужно удалить в конфиге строку:

Спасибо, удалил в файлах BK-0010.cfg, BK-0010_01.cfg, BK-0010fdd.cfg, однако не нашёл такой строки в файле BK-0011m.cfg.

yevrowl
28.11.2025, 02:48
Вот конвертор для моего: bas2asc.zip

Спасибо за написание конвертера.

Вот версия для DOS, компилированная при помощи Borland C++ 3.1 — 83228

b2m
28.11.2025, 12:56
Вот версия для DOS
Не знал, что кто-то ещё сидит под ДОС :)
В наше время, чтобы запустить программу для ДОСа, нужен уже эмулятор. ;)

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


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

После отладки программы для БК, нужно сохранить её командой CSAVE, чтобы у других тоже без проблем работало.

yevrowl
28.11.2025, 19:46
Про загрузку написал в предыдущем посте.

На BK-0011m пробую загрузить исходник (BT.BAS (https://workupload.com/file/DCa2DDzmeLV)) и многократно открывается диалоговое окно:

83230

b2m
28.11.2025, 20:21
Я же дал конвертор. Делаю

bas2asc.exe BT
получаю BT.BIN, загружаю в БК-0010-01 командой

LOAD "BT"
вроде грузится. Но не работает. Пробую листинг, в строке 1240 какая-то шняга, непечатная.

Попробуй заменить все символы с кодом больше 127 на другие. Проверь все используемые операторы, так ли они работают, как ожидается.

yevrowl
28.11.2025, 21:17
Я же дал конвертор. Делаю

Просто не догадался убрать расширение файла:

https://i.postimg.cc/sXKvw1Rr/111.png


Пробую листинг, в строке 1240 какая-то шняга, непечатная.

Это профессиональное, у нас на авиазаводе каждый первый мастер непечатного слова. :v2_dizzy_army:


Попробуй заменить все символы с кодом больше 127 на другие. Проверь все используемые операторы, так ли они работают, как ожидается.

Отдельная благодарность, сейчас займусь перепечатыванием исходника.

b2m
29.11.2025, 00:56
Просто не догадался убрать расширение файла
Прошу прощения, наверное надо было просто сделать замену расширения на .BIN для выходного файла, но я поленился. Думал, пользователь, увидев сообщение об ошибке, догадается. Тем более, заглянув в исходник.

yevrowl
08.12.2025, 00:43
83294 83295 83327 83328

С учётом дефицита оперативной памяти для программ на Бейсике (ошибка № 7) склепал логическую игру в сокращённом виде. Есть определение модели — БК-0010.01 и БК-0011М, запуск производится в разном цветовом исполнении.

Опубликована в соответствующей теме — https://zx-pk.ru/threads/33794-novye-igry-dlya-bk.html?p=1220833&viewfull=1#post1220833

gid
08.12.2025, 08:29
BIN-файл в конфигурации BK-0010_01 не загружается в конфигурацию BK-0011m
Если вы имеете в виду под BIN именно бейсиковские файлы, сохранённые командой BSAVE, то ничего удивительного, там архитектурная несовместимость по адресам. Бейсики БК10 и БК11М совместимы только на уровне исходного кода, у них даже псевдокод, сохранённый по команде CSAVE не совместим друг с другом.

b2m
08.12.2025, 14:11
у них даже псевдокод, сохранённый по команде CSAVE не совместим друг с другом
От, тож.

yevrowl
09.12.2025, 09:22
gid, b2m, получается, способа открывать исходник в конфигурации BK-0011m нет?

Не получается открывать даже bin-файлы, создаваемые при помощи утилиты bas2asc.

b2m
09.12.2025, 11:28
Не получается открывать даже bin-файлы, создаваемые при помощи утилиты bas2asc.
Давай уточним. Исторически так сложилось, что все файлы для БК имеют расширение .bin (в моём эмуляторе). Однако это могут быть как бинарные файлы (программы), так и файлы для Бейсика, сохранённые командами CSAVE (токенизированный) и SAVE (текст). Так что, чтобы не путать народ, лучше не писать "bin-файлы", а уточнять, что имеется ввиду.

Токенизированный файл для БК-0011м загрузить не получится, т.к. токены не совпадают с другой версией Бейсика. А вот текст может быть и можно загрузить, но там опять надо разбираться с перехватом загрузки блока/символа.

gid
09.12.2025, 12:27
Текст можно, на уровне исходника, asc файлы бейсик принимает как родные. У меня в эмуляторе сделано, всё работает как с россыпью asc файлов в формате bin, так и с wave файлом.

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

А с загрузкой COD файлов не всё так однозначно. Оказывается если не использовать платформозависимые штуки, то всё вполне работает.
Я когда-то пробовал загружать в бейсик БК11М некоторые случайно выбранные COD файлы, и у меня БКшка просто зависала, вот я и подумал про несовместимость.
А вот сейчас попробовал загрузить в бейсик БК11М игру BOM из комплектной кассеты БК0010, и всё загрузилось и даже играется.

b2m
09.12.2025, 16:36
у них даже псевдокод, сохранённый по команде CSAVE не совместим друг с другом
То есть, это утверждение неверно?

yevrowl
09.12.2025, 17:10
Давай уточним.
Созданный из текстового исходника с помощью утилиты bas2asc.


А вот текст может быть и можно загрузить, но там опять надо разбираться с перехватом загрузки блока/символа.
Попытался загрузить и текст, опять не получилось.

83298

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


Текст можно, на уровне исходника, asc файлы бейсик принимает как родные. У меня в эмуляторе сделано, всё работает как с россыпью asc файлов в формате bin, так и с wave файлом.
Можно ли увидать ссылку на эмулятор?

gid
10.12.2025, 09:24
То есть, это утверждение неверно?
Да, неверное. Чистый бейсик, с чисто бейсиковскими операторами, даёт совместимый код.
Пока не начинается всякое POKE,PEEK с адресацией в ОЗУ/ПЗУ. И прочее платформозависимое, напр. вставки п/п в маш.кодах, ибо они обычно обращаются к ПЗУ монитора БК10 или даже в ПЗУ бейсика, особо продвинутые.

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


Можно ли увидать ссылку на эмулятор?
https://gid.pdp-11.ru/

yevrowl
14.12.2025, 00:21
Стандартный уже вопрос про эмуляцию ПК Галаксия (https://ru.wikipedia.org/wiki/%D0%93%D0%B0%D0%BB%D0%B0%D0%BA%D1%81%D0%B8%D1%8F_( %D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D 1%80)), реализованную под названием Galaxy — возможны ли приём-передача исходников на Galaksija BASIC (https://ru.wikipedia.org/wiki/Galaksija_BASIC)?