Геометрию экрана установили, а вот точное положение и длительность гс и гк - нет. tnt23, их анализатором или осциллографом стоит посмотреть. Ну или надо разобрать работу D24-D27.
Геометрию экрана установили, а вот точное положение и длительность гс и гк - нет. tnt23, их анализатором или осциллографом стоит посмотреть. Ну или надо разобрать работу D24-D27.
Исправляюсь - работает, но нормальные цвета показывает только в режимах:
main.fullscreen=640x480x16
main.fullscreen=640x480x32
main.fullscreen=800x600x16
main.fullscreen=800x600x32
во всех случаях
main.fullscreen.scale.x=1
main.fullscreen.scale.y=1
Монитор/телевизор с разрешением 1920x1080, видео - intel встройка hd2500. Пропорции у перечисленных режимов на этом мониторе те еще, и выбор режима 4:3 на мониторе/ТВ не делает совсем хорошо.
Переход в фуллскрин, судя по побочным эффектам, переводит весь десктоп в один из этих режимов, окна потом приходится поднимать одно за другим и помогать вытряхивать из ушей песок. Мне это не критично, но если где-то есть гистограмма востребованных фич, мои +1 в ячейку неприкосновенности десктопного разрешения.
Больше игр нет
b2m, можешь подсказать, что нужно прописать в конфиге для доступа к эмулируемому интерфейсу RS-232 через TCPIP?
Смотрю в конфигурацию 'Bashkiria-2M rom.cfg':
Как вообще все это работает? Что такое netid, connect?Код:comport : K580ww51 { connect="tcp:15015:127.0.0.1" } CPU : K580wm80a { mem=mm port[00-03]=tim.data port[04-07]=ext.data port[08-0B]=sys.data port[0C]=comport.netid port[10-13]=vid.palette port[14-15]=intctl.data port[18-19]=comport.data portmask=1F int=intctl.int }
PS нашел пример в сообщении #post761141, попробую
PSS Речь об "Океане-240". Передача байта из эмулятора в сокет работает, по крайней мере без проверки регистра статуса ВВ51, просто запись в регистр данных.
А вот с приемом засада. Стандартная процедура BIOS по приему символа из ВВ51 крутится в цикле чтения регистра статуса, ожидая установки бита 1 (RxRDY):
![]()
Последний раз редактировалось tnt23; 18.09.2025 в 09:55.
connect - определяет номер порта и куда соединяться, если указан только номер порта, то это будет сервер. Пока только tcp и pipe (внутреняя связь, до 10 линий, название или аргумент может поменяться, ввиду того, что аналогичный объект существует и в ОС), планировались и другие виды связи (mailslot, внешняя dll, ...)
netid - сервер у моего эмулятора первым делом посылает номер (id) соединения, а клиент при соединении сразу его хавает и запоминает, этот номер можно считать потом через какой-либо порт (в реале это, например, номер ученического компа, заданный перемычками). Для сервера будет ноль.
tnt23(18.09.2025)
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Не помню, надо смотреть исходники. Но вроде бы, отсутствие готовности - это когда символ принят только частично, и считывать смысла нет. А у меня всегда байтами передаётся.
Или ты имеешь ввиду, когда буфер пуст и читать нечего?
Если клиент не соеденился, то тоже готовности не будет.
И да, сначала нужно запускать сервер.
Надо бы доработать этот момент. По команде сброса, если соединения ещё нет, клиент мог бы попытаться соедениться ещё раз. А сейчас он делает только одну попытку при запуске.
Последний раз редактировалось b2m; 18.09.2025 в 10:23.
В случае TCP соединения (я хожу телнетом) символ скорее всего принимается целиком. И еще, даже если я проигнорирую бит готовности в регистре статуса, из регистра данных всегда читается 0х03.
Когда буфер пуст, тут понятно, что данных нет. Но если символ был принят с линии, он должен по идее храниться в регистре данных до того, как его считает процессор, при этом RxRDY должен взвестись в 1, насколько я понимаю.
Сервер у меня запускается первым (стартую эмулятор), потом подцепляюсь к порту 15015 телнетом. Исправно получаю от эмулятора символ "1" где-то через секунду после соединения.
Последний раз редактировалось b2m; 18.09.2025 в 10:37.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)