Сообщение от
Pyk
А вот в эмуляторе uart судя по всему должно все без проблем работать
Но этот эмулятор конечно же недоступен, т.к не для IBM PC.
Сообщение от
Pyk
Попробовал - что мой эмулятор, что emu одинаково зацикливаются с непатченым Монитором на процедуре автонастройки...
А у меня EMU от b2m не зацикливается на автонастройке с любыми мониторами. Видимо Вы использовали в нём конфиг для орловского монитора, а он не подходит для других мониторов. Конфиги, чтобы грузили в формате RKS (точнее в обоих RKS-ах) надо настраивать индивидуально. Я не пользуюсь теперь эмулятором EMU более полугода, но впечатление от его работы с МГ было хорошее, т.к особых проблем не было. Хотя со зверковским загрузчиком я его не использовал.
Я использую вот такой файл с именем "Specialist Mon 3.3.cfg" и по директиве I файлы RKS с именем грузятся. Но вот сделать записи в WAV-файл у меня с EMU не получается. Поэтому я и переключился на Ваш эмулятор. Надеюсь, что у Вас всё получится. Этот конфиг обычный, только в самом конце в нём возможно я изменил две строки в разделе "cas: tape-recorder". Точно не помню, это было ещё в апреле.
Мой конфиг для EMU
main.CPUClock=2500000Hz
main.Caption="Специалист КР580 базовый"
CPU : K580wm80a {
debug=cas
mem=mm
pc=C000
port.maptomem=1
}
mem1 : Memory {
size=10000
}
bios : Memory {
rom="Specialist\BIOS_33.DAT"
}
sys : K580ww55 {
portA=kbd.row
portB[0]=cas.playback
portB[1]=kbd.shift
portB[2-7]=kbd.col
portC[0-3]=kbd.row2
portC[7]=cas.record
}
mm : MemMap {
map[0][0000-8FFF]=mem1[0000]
map[0][9000-BFFF]=vid.mem
map[0][C000-F7FF].ro=bios[0000]
map[0][F800-FFFF]=sys.data
}
kbd : Specialist-Keyboard {
layout="Specialist\layout.kbd"
}
vid : Specialist-Video {
}
beep : beep {
input=sys.portC[5]
}
cas : tape-recorder {
biproc[C37D-C4CF]=rk
boproc[C3CB-C3F8]=sp
}
[свернуть]
А вот когда я соберусь переделать свой эмулятор ОРИОНА для MSDOS в эмулятор СПЕЦИАЛИСТА для MSDOS (возможно в НГ-праздники), то я быть может тоже попробую встроить работу с магнитофоном (раньше не эмулировал, было не надо, зачем если есть CP/M), но применю не Ваши алгоритмы c перехватом LDBYTE, а "химию" более высокого уровня, буду перехватывать другие точки
Код:
.
C3F9 - ввод блока с поиском синхробайта, адреса
начала и конца блока указаны на ленте
C422 - ввод блока с поиском синхробайта, адреса
начала и конца блока заданы в HL и DE
C414 - то же самое, но без поиска синхробайта,
позволяет иметь синхробайт не равный E6
C453 - ввод блока с поиском синхробайта и авто-
матическим запуском блока на исполнение
Флаги эти подпрограммы не возвращают, а весь МГ-ввод основан только на этих подпрограммах. И напрасно Вы не включили в формат RKS синхробайт. Это значит, что просто подменив синхробайт E6 на E7 все эмуляторы блокируются.