User Tag List

Страница 2 из 13 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 153

Тема: Программирование для ПК 11/16 «Союз-Неон»

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,724
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    406
    Поблагодарили
    257 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Мультиплатформенный ассемблер PDPy11 в принципе должен сгодиться для программирования под СОЮЗ-НЕОН. Если чего-то существенного будет не хватать - допилим PDPy11.
    manwe.pdp-11.ru

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    18.04.2015
    Адрес
    г. Люберцы
    Сообщений
    342
    Спасибо Благодарностей отдано 
    103
    Спасибо Благодарностей получено 
    32
    Поблагодарили
    27 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Manwe Посмотреть сообщение
    Мультиплатформенный ассемблер PDPy11 в принципе должен сгодиться для программирования под СОЮЗ-НЕОН
    Мне как-то мультиплатформенный macro11 больше нравиться в качестве кросс ассемблера под linux-ом, кое-каким вещам правда его пришлось подучить (не зависать на загружаемой библиотеки макросов, понимать регистры вида процент-номер)

    Но вот чем линковать получаемые объектники?.. Пока не нашел (пока и не сильно искал правда)

  4. #3

    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,724
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    406
    Поблагодарили
    257 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от troosh Посмотреть сообщение
    Но вот чем линковать получаемые объектники?.. Пока не нашел (пока и не сильно искал правда)
    Мы решили, что линковать объектные модули – слишком олдскульно, поэтому сделали в PDPy11 «project mode», include и insert_file
    manwe.pdp-11.ru

  5. #4

    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,048
    Спасибо Благодарностей отдано 
    1,141
    Спасибо Благодарностей получено 
    1,459
    Поблагодарили
    520 сообщений
    Mentioned
    20 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от troosh Посмотреть сообщение
    Мне как-то мультиплатформенный macro11 больше нравиться в качестве кросс ассемблера под linux-ом, кое-каким вещам правда его пришлось подучить (не зависать на загружаемой библиотеки макросов, понимать регистры вида процент-номер)

    Но вот чем линковать получаемые объектники?.. Пока не нашел (пока и не сильно искал правда)
    @troosh надеюсь ты за это время уже заметил наличие pclink11 https://github.com/nzeemin/pclink11

    Этот пользователь поблагодарил nzeemin за это полезное сообщение:

    troosh(26.11.2019)

  6. #5

    Регистрация
    18.10.2019
    Адрес
    г. Санкт-Петербург
    Сообщений
    3
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Для написания небольших программ под БК на линукс я пользуюсь macro11 в версии от Rhialto и скриптом на perl для линковки, который там же в директории obj2bin. Для линковки в БКшный *.bin есть тот же самый скрипт с моими правками.

    Пример команды сборки licheng.asm в БКшный licheng.bin (bash):

    n=licheng && macro11 -rt11 -o $n.obj -l $n.lst $n.asm && obj2bkb --binary --base=01000 --outfile=$n.bin $n.obj

    PS: Это был ответ на сообщение troosh чем можно линковать obj файлы от macro11. Цитирование почему-то пропало по дороге. Вебфорумы - зло.
    Последний раз редактировалось stasmas; 07.09.2020 в 12:37.

    Этот пользователь поблагодарил stasmas за это полезное сообщение:

    troosh(07.09.2020)

  7. #6

    Регистрация
    11.11.2014
    Адрес
    г. Москва
    Сообщений
    334
    Спасибо Благодарностей отдано 
    60
    Спасибо Благодарностей получено 
    28
    Поблагодарили
    23 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А есть ли под Неон традиционный для советского PDP-строения MSX-2 подобный Бейсик?

    Давно уже подумываю о новом Бейсике для БК - с оператором Play для проигрывания нот, вспоминая оригинальную ямаху из школьного класса информатики...

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

    И о том, что Java тоже использует Jit компиляцию до сих пор... и нет в этом ничего страшного...
    Последний раз редактировалось TheGWBV; 30.08.2020 в 18:35.
    Не волнуйтесь, моя бабушка водила трактор и пожарную машину (С)

  8. #7

    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,048
    Спасибо Благодарностей отдано 
    1,141
    Спасибо Благодарностей получено 
    1,459
    Поблагодарили
    520 сообщений
    Mentioned
    20 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от TheGWBV Посмотреть сообщение
    Давно уже подумываю о новом Бейсике для БК - с оператором Play для проигрывания нот, вспоминая оригинальную ямаху из школьного класса информатики...
    Немного не в тему, но раз уж зашла речь.
    Для Немиги был адаптирован Бейсик Вильнюс (датируется 1989-м годом), в частности, там реализован оператор PLAY, подобный тому что был на MSX. Сама Немига умеет проигрывать мелодии из последовательности нот указанной высоты и длительности - это реализовано на уровне прошивки ПЗУ.

  9. #8

    Регистрация
    18.04.2015
    Адрес
    г. Люберцы
    Сообщений
    342
    Спасибо Благодарностей отдано 
    103
    Спасибо Благодарностей получено 
    32
    Поблагодарили
    27 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    Немного не в тему, но раз уж зашла речь.
    Для Немиги был адаптирован Бейсик Вильнюс (датируется 1989-м годом), в частности, там реализован оператор PLAY, подобный тому что был на MSX. Сама Немига умеет проигрывать мелодии из последовательности нот указанной высоты и длительности - это реализовано на уровне прошивки ПЗУ.
    Есть BASIC посвежее, этого 2020 года, даже на УКНЦ работает: https://youtu.be/hR2SnZtH5pY
    Фишка там не в скорости, а в совместимости с BBC Бейсиком, хотя там пока не все реализовано (так нет встраиваемого ассемблера, тригометрических функций и наверняка чего то еще). Пишется на ассембре (причем не на macro-11, а на своëм тоже сделанном на этом бейсике).

    Здесь как-то попытались про него начать обсуждение, да как-то не пошло: https://zx-pk.ru/threads/30128-bbc-b...or-pdp-11.html

    Что касается воспроизведения мелодий на Союз-Неон, то язык описания мелодий сделали ну очень похоже на то как работает PLAY в MSX BASIC с AY3-8910. Только там текст нужно предварительно преобразовать в бинарный файл, а потом просто такие файлы копируешь в устройство "SN:" и в фоне играет музыка...

    P. S. Заставил себя таки вытащить исходники этой кухни из битого образа дискеты H.dsk и обновили страницу https://github.com/troosh/pk11-16/tree/master/Snd (там внизу описательная часть).

    Этот пользователь поблагодарил troosh за это полезное сообщение:

    nzeemin(02.09.2020)

  10. #9

    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,724
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    406
    Поблагодарили
    257 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от troosh Посмотреть сообщение
    Заставил себя таки вытащить исходники этой кухни из битого образа дискеты H.dsk и обновили страницу https://github.com/troosh/pk11-16/tree/master/Snd (там внизу описательная часть).
    Спасибо, у меня как раз назревает потребность написать небольшую мелодию для Союз-Неона.

    А не поможете разобраться с 256-цветным режимом? Может быть в исходниках ВПО есть какая-то подсказка.
    Делаю всё по документации – пробовал макросы PLCRE и PLCREx (коды обращения к регистру оконного менеджера 16 и 17 соответственно), передавал им код режима VM8 (число 7). Отрабатывает без ошибок (бит C равен нулю, код операции 16 или 17 в таблице параметров остаётся положительным). Код режима меняется на 40007, то есть добавляется признак палитры №1.
    Копирую этот код 40007 в таблицу описания area и запускаю макрос ARCRE (код 46). Он также отрабатывает без ошибок. Забираю id вновь созданной area, копирую в таблицу пораметров view.
    Макросом VWCRE создаю view, всё проходит без ошибок, на экране появляется окно...
    НО пиксели в окне отображаются как 4-битные!
    Палитру я сгенерил в виде градиента. В area пишу байты с постепенно возрастающими номерами цветов. Казалось бы, должен быть плавный переход оттенков. Но точки рисуются через одну: светлая, тёмная. Такое может быть только если Союз-Неон считает каждые 4 бита за отдельный цвет точки.
    Что я делаю не так?
    manwe.pdp-11.ru

  11. #10

    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,724
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    406
    Поблагодарили
    257 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    troosh, я тут просматриваю исходники ВПО, но не очень догоняю, потому что слаб в макросах.

    В документации к Союз-Неону описан макрос ARCRE с пятью параметрами, последний из которых mdpl - видеорежим и номер палитры. К примеру, 40007 означает палитру №1 и режим 256 цветов, если я правильно понимаю.
    Вроде как макрос ARCRE кладёт этот mdpl в пятое слово таблицы AREA descriptor, описанной в WDC.MAC. Правда, там это пятое слово называется start of TAS (начало таблицы адресов строк).

    Не могу понять - подпрограмма W$ARCR из файла WD2.MAC вообще использует это пятое слово mdpl в таблице? Где и как количество цветов передаётся, собственно, в железо?


    И ещё: макрос PLCRE должен возвращать ошибку, если не удалось зарезервировать палитру - так сказано в документации. Но не сказано в каком виде ошибка: бит C или инверсия кода команды (как делает ARCRE в случае ошибки). В исходниках я этого не смог найти - как будто вообще нет проверки на ошибку.
    Последний раз редактировалось Manwe; 02.09.2020 в 21:54.
    manwe.pdp-11.ru

Страница 2 из 13 ПерваяПервая 123456 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Эмулятор Союз-Неон ПК-11/16 - EmuStudio
    от Titus в разделе Эмуляторы отечественных компьютеров
    Ответов: 335
    Последнее: 01.04.2024, 11:33
  2. Ответов: 0
    Последнее: 17.01.2015, 21:02
  3. ПК-11 'Союз-Неон'
    от Keeper в разделе ДВК, УКНЦ
    Ответов: 12
    Последнее: 16.10.2013, 05:07

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •