User Tag List

Страница 127 из 157 ПерваяПервая ... 123124125126127128129130131 ... ПоследняяПоследняя
Показано с 1,261 по 1,270 из 1564

Тема: Программирование на УКНЦ как?

  1. #1261

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,717
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    Тем, что я, зная Си, могу загрузить этот исходник в современнфй визуальный Си и портировать его, особо не вникая в детали. А переписывать на Си паскальную программу - бррр!
    Та ладно? Ну так а я, зная Паскаль, загружу исходник на ТурбоПасе в Дельфи или ФриПаскаль и очень легко заставлю его работать. Между Паскалем, Модулой и Обероном портировать значительно проще, чем между MS Visual C и Borland C. А уж если пошли плюсы, то это брррр.

    Кстати, Оберон есть в проде. Сам внедрял, знаю людей, которые внедряют. Хотите плеваться - плюйтесь. Но он там себя неплохо чувствует.

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

    Мне Наташа Зотова из Zosya Entertainment сказала, что их главный кодер, разработчик игр Valley of Rains и Drift, обучался на Паскале и не знает никаких других ЯВУ, кроме Паскаля. Только Паскаль и асм. Так что не надо, ладно?)

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


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

  3. #1262

    Регистрация
    26.03.2019
    Адрес
    г. Киев, Украина
    Сообщений
    98
    Спасибо Благодарностей отдано 
    133
    Спасибо Благодарностей получено 
    51
    Поблагодарили
    26 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Коллеги, давайте ближе к теме. Почему наше с Хоботом желание покодить на Паскале вызывает столько обсуждения о том, кто какие языки предпочитает? Какая здесь связь? Ну хочется нам так, и что?

    Вот и чудно. Поделитесь, пожалуйста, с нами опытом использования Си для PDP-11. Мне действительно интересно какие есть компиляторы и как их использовать.
    https://github.com/yshestakov/pdp11-...lo-gcc/hello.c

    Пример выполнения (на Linux или MacOS):
    Код:
    me@mac hello-gcc> make run
    simh-pdp11 simh.ini
    
    PDP-11 simulator V3.9-0
    Disabling CR
    Disabling XQ
    CPU, 11/05, idle enabled, stability wait = 20s, autoconfiguration enabled, 64KB
    PC:	001000
    1000:	MOV #10000,SP
    1004:	MOV #0,-(SP)
    1010:	MOV #1312,-(SP)
    1014:	MOV #1,-(SP)
    1020:	JSR PC,1034
    1024:	ADD #6,SP
    1030:	HALT
    1032:	NOP
    1034:	MOV R5,-(SP)
    1036:	MOV SP,R5
    1040:	ADD #177774,SP
    1044:	MOV #1316,177776(R5)
    1052:	MOV 177776(R5),R0
    1056:	MOV R0,R1
    1060:	INC R1
    1062:	MOV R1,177776(R5)
    1066:	MOVB (R0),R0
    1070:	MOVB R0,R0
    1072:	MOV R0,177774(R5)
    1076:	BR 1142
    1100:	MOV 177774(R5),R0
    Hello, GCC world!
    
    HALT instruction, PC: 001032 (NOP)
    SP:	010000
    Goodbye

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

    Oleg N. Cher(12.03.2020)

  4. #1263

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,509
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Крутится у меня в голове, что одна из первых версий Oracle, после того, как его переписали на С, компилировалась компилятором C не от DECUS-а (варианты которого для PDP-11 под RT и RSX, собственно, и бродят по инету), а от как бы не WATCOM-а. Но - от WATCOM - это абсолютно не точно, точно только то, что у меня тогда был (может и сейчас живой где то) какой-то компилятор С под RSX, с помощью которого я с пяток модулей из Oracle восстановил до исходников на С, причём (опять по памяти) этот компилятор делал сразу .obj файлы.

  5. #1264

    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    485
    Спасибо Благодарностей отдано 
    140
    Спасибо Благодарностей получено 
    392
    Поблагодарили
    147 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Oleg N. Cher, А тебе ведь надо на макро-11 лишь вывод спрайтов сделать? Причем рисовать должен ПП (ибо только он умеет во все три плана рисовать).
    Всей памятью ПП можно будет пожертвовать если допустить что из игры в систему RT-11 выходить будет не нужно (ну как на спектруме мол загрузил игру и все, выход через reset).
    Для той карточной игры может быть видимо лишь проблема в том что в колоде 36 карт. Каждая карта если полностью хранить с 8-ю цветами это три байта на 8 пикселей. Пусть одна карта будет 48 х 60 это 6*60*3 = 1080 байт. Если так все карты делать то это скушает вместе с кодом игры все адресное пространство ЦП. А в ПП память влезет только 32 килобайта. Видимо надо будет уменьшить цвета до 4-х.

    Плюс придумать как грузить данные и код в память ПП. Ведь паскаль будет компилять в .sav который разумеется ни в какое адресное пространство ПП лезть и не должен. То-есть надо будет графику отдельно подгрузить.

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

    С паскалем под RT-11 совершенно дел не имел. Даже не знаю какой он код там генерирует. А так игрушка видится в таком плане - код паскаля как-то должен загрузить в память ПП свой код (спрайты и данные). Основная логика игры сидит в памяти ЦП, а ПП только принимает команды мол нарисовать спрайт, зажужжать там динамичком и т.д. Там придется на макро-11 все сделать, это не прям мегасложно. Я такое даже напишу для вас. Но как паскуаль этот грузит данные с диска - тут я даже и не знаю.
    Последний раз редактировалось BlaireCas; 12.03.2020 в 22:21.

  6. #1265

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,717
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я решил ограничиться двумя планами, как это сделали Вы и Никита Зимин. Думаю, доступ к ПП слишком сложен, да и жертвовать выходом в RT-11 не хочется. Карты будут отрисоваться по частям двухцветными тайлами, которые можно хранить в виде пары цветов - фон и цвет рисовки - и битовой маски, где каждый бит отвечает за то, фон это или цвет. Так сэкономится память. Памяти ведь у УКНЦ больше, чем у Спектрума 48Кб, да и подгрузки есть, на крайний случай.

    Да, я тоже склоняюсь к тому, что надо ЦП сделать диспетчером, который просто отсылает в ПП команды типа: нарисуй спрайт, линию и т.д. Только я не знал, что ПП умеет обращаться ко всем битпланам. Я думал, что к двум первым - только ЦП. Вообще пока смутно представляю как распределена память в УКНЦ и как там может исполняться .sav размером > 64 Кб.

    То есть, нужен графический движок, который будет работать через ЦП и ПП, где ЦП будет диспетчером, а ПП выполнит роль видеокарты. Видимо, примерно так.

    Из Паскаля загружать файлы с диска несложно встроенными средствами. Я это проверил написанием на коленке простого вьювера BMP. Но думаю обойтись без подгрузок. Их только на самый крайний случай.

    Кстати, было бы интересно увидеть сравнение качества кодогенерации OMSI Pascal, нативного Си для RT-11 - CC и GCC из pdp11-toolchain Юрия Шестакова. Какой вариант лучше прорабатывать?
    Последний раз редактировалось Oleg N. Cher; 13.03.2020 в 01:46.

  7. #1266

    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,246
    Спасибо Благодарностей отдано 
    498
    Спасибо Благодарностей получено 
    557
    Поблагодарили
    436 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    распределена память в УКНЦ и как там может исполняться .sav размером > 64 Кб.
    Для ЦП всё не фонтан.
    1. Фундаментальное ограничение простых М-ЭВМ 56 Кбайт прямо адресуемой ОЗУ - адреса 000000-157776 ( 8 ). ( 0-55.99 Кбайт ).
    2. Из них священные адреса :
    000000 - 000376 - не стоит и думать о них, если софт работает под RT-11 .
    Подробнее о этой области - в КД на систему от НЦ - довольно точный перевод от DEC, поставлялся с БК11 без "М" и с ДВК-2 МС0501 и МС0502.
    3. Ядро ОС , для SJ ( однозадачника ) - адреса ориентировочно с 134000 и выше - см. КД на ОС, в зависимости от ревизии и версии ОС могут малость меняться.
    4. Добавочный оверлей ОС, для работы с файлами - еще ~8 Кбайт, итого адреса порядка свыше 114000 - заняты ОС. Но ОС содержит команды, позволяющие этот компонент выгружать и загружать по ходу исполнения программы .
    5. Библиотечка Паскаля - она не есть равна 000000, и даже не 1 Кбайт - еще досадный минус ОЗУ.

    Итого - язык в мусорку, пишите на MACRO сразу.
    Рисунки карточек рисуйте ( на экране ) по ходу вывода ( из малых графических форм ), не храните сканы натуральных карт , особенно если не работаете с винчестера/ЭД.

    Если надо временно выгружать ядро ОС ( например, в ЭД ) - перед его удалением ( из ОЗУ ЦП ) не забудте запретить прерывания, а после восстановления ядра - можно и разрешить прерывания.
    Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения MMTEMA@MAIL.RU

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

    Oleg N. Cher(13.03.2020)

  8. #1267

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,717
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо за инфу! :-)

    Собираюсь заморочиться именно разработкой на ЯВУ, вставки на асме конечно неизбежны, но хотелось бы свести их к минимуму.

    Поэтому не собираюсь юзать оверлеев, резидентов и всего такого прочего. Если кто-то заинтересуется помочь с обменом с ПП, будет здорово. Но постараемся это скомпоновать как библиотеку для вызова из ЯВУ.

    Сколько у нас есть доступной линейно адресуемой (без фрагментации) памяти для ЦП? Килобайт 30-35 на игру, по идее, должно хватить. Может даже меньше.

    OMSI Pascal даёт компактный размер, т.е. потери на весь рантайм - 2-3 блока. Это не так уж и плохо. Насчёт Си не знаю, надо пробовать.

  9. #1268

    Регистрация
    22.03.2018
    Адрес
    г. Усть-Каменогорск, Казахстан
    Сообщений
    1,410
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    178
    Поблагодарили
    138 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Пусть одна карта будет 48 х 60 это 6*60*3 = 1080 байт. Если так все карты делать то это скушает вместе с кодом игры все адресное пространство ЦП.
    Можно сделать шаблон 3х карт с картинками, пустой карты и спрайты мастей. На пустой шаблон выводить масти согласно закодированного порядка в списке. Для карт с картинками планами "играть" чтобы они цветами отличались. Сэкономишь памяти почти на порядок.

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

    Спрайты мастей сделать однобитными - черные BICом выводить, а красные во 2й план.
    БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO

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

    Oleg N. Cher(13.03.2020)

  10. #1269

    Регистрация
    25.08.2012
    Адрес
    г. Красноярск
    Сообщений
    1,245
    Спасибо Благодарностей отдано 
    343
    Спасибо Благодарностей получено 
    369
    Поблагодарили
    261 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Спасибо за инфу! :-)
    Собираюсь заморочиться именно разработкой на ЯВУ, вставки на асме конечно неизбежны, но хотелось бы свести их к минимуму.
    Сколько у нас есть доступной линейно адресуемой (без фрагментации) памяти для ЦП? Килобайт 30-35 на игру, по идее, должно хватить. Может даже меньше.
    рекомендую изучить тему
    https://zx-pk.ru/threads/29643-porti...ts/page27.html
    https://zx-pk.ru/threads/29643-porti...ts/page30.html

    а именно идею как использовать ЦП на полную:
    в случае с применением контроллера AZ, который подключен на шину ЦП, можно использовать _всю_ память ПП под игру
    что важно - в таком режиме легко реализовать и возврат в RT11
    и подгрузку информации в диска во время загрузки новых уровней


    Про AZ подробнее описано в этой теме: УКНЦ + AZ - вариант контроллера псевдодисков на микро-SD для УКНЦ.

    Основная страничка поддержки проекта [инструкции, техническое описание, обновления фирмвари]
    Контроллер псевдодиска на MicroSD
    Контроллер псевдодиска на MicroSD на шину МПИ: особенности версии для УКНЦ
    Контроллер псевдодиска на MicroSD для УКНЦ: сборка и наладка конструктора контроллера
    Все о БК ДВК УКНЦ VAX Alpha

    Архив ПО для ретрокомпьютеров

    предоставляю бесплатный хостинг на PDP-11.RU для проектов о ретрокомпьютерах

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

    Oleg N. Cher(13.03.2020)

  11. #1270

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Да, мне не удалось запустить компилятор Си под эмулем Патрона. Там требуется назначение диска C, с чем я не разобрался. Без этого он не хочет работать. Хотя примерно понял куда копать.
    Вот более-менее настроенный комплект. HD_SYS_51.DSK монтируем на HD2, папку CTST на HD1, загружаемся с HD2 и вперед! Исходники в папке CTST правим любимым писюшным редактором, затем в эмуляторе запускаем командный файл, и вперед. Там есть две тестовых задачки - TST1 - обычный Hello, world и TST2 - чуть посложнее. Командный файл для своих задач делать по образу и подобию. Если вдруг захочется поработать на реальном железе, раскомментировать вызов редактора EDK (или заменить его вызов на свой любимый редактор для RT-11).

    Если вдруг захочется разбить исходник на несколько .C файлов, из которых получится несколько объектных файлов, то, когда их много, я делал объектную библиотеку для этого проекта, тогда командные файлы будут посложнее. Если надо - подскажу. У меня (тогда) необходимость разбить исходник на несколько файлов возникла когда он (исходник) перестал влезать в оперативку редактора EDK. Под эмулятором этот вопрос, скорее всего, не возникнет.

    Да, эмулятор Патрона иногда не замечает, что кто-то из посторонних (в смысле, редактор из-под винды) что-то изменил в папке для HD1. В таком случае помогает команда SQ HD1:.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

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

    Oleg N. Cher(13.03.2020)

Страница 127 из 157 ПерваяПервая ... 123124125126127128129130131 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Программирование на Эмуляторе. Возможно ли это?
    от Toxic в разделе Программирование
    Ответов: 10
    Последнее: 20.01.2008, 19:20
  2. Программирование Altera и JTAG
    от Mikka_A в разделе Несортированное железо
    Ответов: 7
    Последнее: 18.01.2008, 09:07
  3. Программирование и софтмейк на NES
    от Splinter в разделе Nintendo
    Ответов: 7
    Последнее: 30.06.2006, 04:31

Ваши права

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