Световое перо для РК
Moderator: Shaos
-
- Senior
- Posts: 147
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Световое перо для РК
У меня очередной приступ ностальгии, отягощенный наличием свободного времени, поэтому есть вопрос.
У меня в голове живут какие-то смутные воспоминания, что к РК подключали световое перо. Вспоминается вроде как даже какая-то печатная статья где-то, чуть ли не в журнале Радио. Но может меня память серьезно подводит, ибо в интернете ничего подобного мне найти не удалось.
Да, я знаю, что ВГ75 технически поддерживает световое перо, но были ли реальные схемы подключения к РК?
Поделитесь информацией, у кого есть, или подскажите где смотреть.
Если световое перо таки было, может его в эмуляторе поддержать...
У меня в голове живут какие-то смутные воспоминания, что к РК подключали световое перо. Вспоминается вроде как даже какая-то печатная статья где-то, чуть ли не в журнале Радио. Но может меня память серьезно подводит, ибо в интернете ничего подобного мне найти не удалось.
Да, я знаю, что ВГ75 технически поддерживает световое перо, но были ли реальные схемы подключения к РК?
Поделитесь информацией, у кого есть, или подскажите где смотреть.
Если световое перо таки было, может его в эмуляторе поддержать...
-
- Fanat
- Posts: 52
- Joined: 22 Mar 2018 20:46
Re: Световое перо для РК
Для РК не помню светового пера, для Спеца и Ориона были схемы.
Да и как оно тут будет работать, графики-то нет.
Да и как оно тут будет работать, графики-то нет.
-
- Maniac
- Posts: 267
- Joined: 12 Apr 2011 20:43
- Location: Tashkent
Re: Световое перо для РК
A причём здесь графика?gdv2002 wrote:Для РК не помню светового пера, для Спеца и Ориона были схемы.
Да и как оно тут будет работать, графики-то нет.
Вот Википедия что показывает:
«Криста» световое перо имела и Википедия подтверждает это…
И подходили почти все программы РАДИО-86РК (комментарии).
А значит, от РК не так сильно отличается.
P.S.: Нужно посмотреть схему «Кристы» и изучить соответствующее ПО…
Last edited by Paguo-86PK on 09 Mar 2021 06:29, edited 1 time in total.
-
- Senior
- Posts: 147
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Световое перо для РК
Можно для начала поддержать перо, которое вы используете в демках оконного интерфейса для РК.Paguo-86PK wrote:Нужно посмотреть схему «Кристы» и изучить соответствующее ПО
Какие адреса вы используете и как?
-
- Maniac
- Posts: 267
- Joined: 12 Apr 2011 20:43
- Location: Tashkent
Re: Световое перо для РК
begoon wrote:Можно для начала поддержать перо, которое вы используете в демках оконного интерфейса для РК.Paguo-86PK wrote:Нужно посмотреть схему «Кристы» и изучить соответствующее ПО
Какие адреса вы используете и как?
Code: Select all
RD_PEN: LXI HL,0C001H
MVI M,060H
DCR L
MOV C,M
MOV B,M
-
- Senior
- Posts: 147
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Световое перо для РК
Это, как я понимаю, координаты. А как понять в программе, что перо "приложено"? Особые несуществующие координаты, типа FF FF?Paguo-86PK wrote:Какие адреса вы используете и как?Code: Select all
RD_PEN: LXI HL,0C001H MVI M,060H DCR L MOV C,M MOV B,M
-
- Maniac
- Posts: 267
- Joined: 12 Apr 2011 20:43
- Location: Tashkent
Re: Световое перо для РК
Нa сколько я помню из школьных опытов в 90-х, чтение координат светового пера возвращало 0.
Но, судя по информации: Нужно сначала проверить флаг, а потом уже читать координаты.
Но, судя по информации: Нужно сначала проверить флаг, а потом уже читать координаты.
You do not have the required permissions to view the files attached to this post.
-
- Maniac
- Posts: 267
- Joined: 12 Apr 2011 20:43
- Location: Tashkent
Re: Световое перо для РК
Пытaюсь запустить свою демку такой ссылкой, после загрузки происходит сбой и это видно по смещению экрана.begoon wrote:Paguo-86PK wrote:Можно для начала поддержать перо, которое вы используете в демках оконного интерфейса для РК.
И в дизассемблере Монитор начинается с F7E2 - смещение на целых 30 байтов!
Хотя залит файл вроде бы корректно.
P.S.: На счёт загрузки файлов, начинающихся с «mon»: Здесь желательно иметь возможность подзагрузки второго файла, который запустится уже на загруженном Мониторе…
-
- Senior
- Posts: 147
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Световое перо для РК
Ваш файл битый.Paguo-86PK wrote:Хотя залит файл вроде бы корректно.
Посмотрите на строки со смещениями 2170 и 2180.
Вот ваша демка на исправленном файле.
-
- Maniac
- Posts: 267
- Joined: 12 Apr 2011 20:43
- Location: Tashkent
Re: Световое перо для РК
Спасибо!begoon wrote:Ваш файл битый.Paguo-86PK wrote:Хотя залит файл вроде бы корректно.
Посмотрите на строки со смещениями 2170 и 2180.
Исправил…
(Понятия не имею, как произошёл такой сбой именно на тех строках.)
В Бейсике через «RUN 1000» можно тестировать «световое перо».
Не думаю, что ВГ75 так наворочена, что могла возвращать какие-то особые координаты светового пера. (Не совсем понятно, что происходит при программировании растра: Видимо, регистры светового пера не затрагиваются.)
Так как в документациях по ВГ75 сказано, что по сигналу LPEN от физического светового пера координаты просто копировались в регистры и не изменялись до очередного сигнала или до отключения питания (вход Сброса отсутствует.)
Потому только по биту LP статуса можно ориентироваться, приходил ли LPEN в текущем кадре или нет…
You do not have the required permissions to view the files attached to this post.
-
- Senior
- Posts: 147
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Световое перо для РК
Добавил в эмулятор поддержку пера - демо.
Когда эмулятор запустится, сказать "G0", потом "N" в бейсике, и потом "RUN 1000".
UPDATE: Исправил ссылку на демо. До этого она указывала на localhost.
Когда эмулятор запустится, сказать "G0", потом "N" в бейсике, и потом "RUN 1000".
UPDATE: Исправил ссылку на демо. До этого она указывала на localhost.
Last edited by begoon on 10 Mar 2021 04:51, edited 1 time in total.
-
- Maniac
- Posts: 267
- Joined: 12 Apr 2011 20:43
- Location: Tashkent
Re: Световое перо для РК
Дa, уже заметил.
Нужно доработать как-то Бейсик-демонстрацию и добавить чтение статусного регистра.
В любом случае, главное - что поддержка светового пера появилась.
А если она в чём-то не совсем корректная, узнать можно будет по отзывам тех пользователей, которые имели опыт подключения светового пера к ВГ75.
У меня РК имеется и световые перья советского образца есть.
(Вот не могу советовать привязывать клик мышки в программах к биту статуса LP для полной совместимости: В рамках эмулятора это отлично будет работать, но не понятно, как в железе программа будет вести…)
Если удастся написать более-менее сносный софт с подобной фишкой, можно будет отремонтировать реальный РК и подключить к нему реальное световое перо. Тогда и видно будет.
P.S.: Иначе наблюдается вакуум в этом отношении во всех эмуляторах…
Нужно доработать как-то Бейсик-демонстрацию и добавить чтение статусного регистра.
В любом случае, главное - что поддержка светового пера появилась.
А если она в чём-то не совсем корректная, узнать можно будет по отзывам тех пользователей, которые имели опыт подключения светового пера к ВГ75.
У меня РК имеется и световые перья советского образца есть.
(Вот не могу советовать привязывать клик мышки в программах к биту статуса LP для полной совместимости: В рамках эмулятора это отлично будет работать, но не понятно, как в железе программа будет вести…)
Если удастся написать более-менее сносный софт с подобной фишкой, можно будет отремонтировать реальный РК и подключить к нему реальное световое перо. Тогда и видно будет.
P.S.: Иначе наблюдается вакуум в этом отношении во всех эмуляторах…
-
- Supreme God
- Posts: 16680
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Световое перо для РК
В световом пере просто всегда есть кнопка явно или неявно...Paguo-86PK wrote:Так как в документациях по ВГ75 сказано, что по сигналу LPEN от физического светового пера координаты просто копировались в регистры и не изменялись до очередного сигнала или до отключения питания (вход Сброса отсутствует.)
Потому только по биту LP статуса можно ориентироваться, приходил ли LPEN в текущем кадре или нет…
Вот здесь кнопка сделана неявно: То есть, когда механически ткнули в экран, то замкнули пружинный контакт, он разрешает работу фотодатчика:
он подключен к LPEN; поскольку растр ВГ75 формирует сама, она по фотодатчику лишь фиксирует,
где он уловил прохождение луча. Эти координаты ВГ75 и запишет в регистры светового пера. Кнопка может быть явно НА световом пере - тогда тыкать не надо: указал в экран и нажал пальцем кнопку.
В принципе и без кнопки, я думаю, этот процесс может идти постоянно.
ВГ75 записывает в регистры светового пера по сигналу LPEN, по флагу готовности - остается лишь координаты считать.
You do not have the required permissions to view the files attached to this post.
iLavr
-
- Senior
- Posts: 147
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Световое перо для РК
В эмуляторе я кнопку светового пера (левую кнопку мыши) "завел" напрямую на бит LP статусного регистра:
На реальном железе этот бит как бы говорит, что ВГ75 видит внешний LPEN=1 (кнопка нажата) и поэтому считал перо и уже готов "отдать" координаты на чтение по команде 60h.
В эмуляторе же координаты пера как бы всегда "готовы" мгновенно, если левая кнопка мыши нажата, поэтому виртуальный ВГ75 всегда готов отдать координаты, если подана команда 60h, и все зависит просто от кнопки мыши.
Code: Select all
if (addr == 0xc001) {
return 0xff | ~(this.screen.light_pen_active ? 0x10 : 0x00);
}
В эмуляторе же координаты пера как бы всегда "готовы" мгновенно, если левая кнопка мыши нажата, поэтому виртуальный ВГ75 всегда готов отдать координаты, если подана команда 60h, и все зависит просто от кнопки мыши.
-
- Maniac
- Posts: 267
- Joined: 12 Apr 2011 20:43
- Location: Tashkent
Re: Световое перо для РК
Пытaюсь писать на Бейсике демонстрацию с использованием светового пера, но никак не могу прочитать статус.begoon wrote:В эмуляторе я кнопку светового пера (левую кнопку мыши) "завел" напрямую на бит LP статусного регистра:На реальном железе этот бит как бы говорит, что ВГ75 видит внешний LPEN=1 (кнопка нажата) и поэтому считал перо и уже готов "отдать" координаты на чтение по команде 60h.Code: Select all
if (addr == 0xc001) { return 0xff | ~(this.screen.light_pen_active ? 0x10 : 0x00); }
В эмуляторе же координаты пера как бы всегда "готовы" мгновенно, если левая кнопка мыши нажата, поэтому виртуальный ВГ75 всегда готов отдать координаты, если подана команда 60h, и все зависит просто от кнопки мыши.
Глянул в скрипт…
Чтo-то я не пойму:
Code: Select all
99 if (addr == 0xc001) {
100 return 0xff | ~(this.screen.light_pen_active ? 0x10 : 0x00);
101 };
Заглушка?
Кстати, флаг «IR» тоже не плохо было бы поддержать с маской 0x20, который используется в подпрограмме запуска ВГ75/ВТ57.
В 90-х я по этому флагу устраивал часы реального времени.
Если при стандартных настройках ВГ75:
Code: Select all
SHHHHHHH 4D - 78 CHARACTERS PER ROW + 8 CHARACTERS PER HRTC
VVRRRRRR 1D - 30 ROWS PER FRAME + 1 ROW PER VRTC
UUUULLLL 99 - 10 LINES PER ROW
MFCCZZZZ 93 - 8 CHARACTERS PER HRTC
Code: Select all
8 MHz / (6 * 86 * 31 * 10) ≈ 50,0125 Hz
Code: Select all
vg75_flag_IR = Date.now() % Math.floor(8 / (6 * (characters_per_row + characters_per_hrtc) * (rows_per_frame + rows_per_vrtc) * lines_per_row / 100000)) > (длительность IRQ) ? 0x20 : 0x00;