А ты не мог бы изъясняться как-то более связно, что ли? Торчки в хорошем смысле, радуйся, борцун "за всё эффективное"
А ты не мог бы изъясняться как-то более связно, что ли? Торчки в хорошем смысле, радуйся, борцун "за всё эффективное"
Прихожу без разрешения, сею смерть и разрушение...
Торчки в нашем понимании это хорошие ассемблерщики, делающие свою работу хорошо, а не спускающиеся с подиума наркоманы, полные эйфории. Или это как-то связано?
Понятно. По существу сказать нечего, поэтому придрался к словам.
Слушай. Почему я не могу заниматься на форуме тем, что мне нравится? Это связано с тематикой форума напрямую. И всё из-за пары утырков, людей странных в своём роде и повёрнутых на своём величии.
Ты делай что хочешь, я не мешаю.
Не нашёл отдельной темы по паскалю, спрошу здесь. Как включить в программу на турбопаскале 3.0 массив-константу известного размера? И чтобы при этом самому не указывать размер. Пусть компилятор сам посчитает запятые.
Иными словами, надо тупо сделать INCBIN. Конкретно - звуки для AY (afx).
Версия 3.0 не понимает открытых массивов (безразмерных 'array of byte'), но для Z80 - других нет.
Через array это делается так:
И т.п. Максимальный индекс (= 5) надо указывать руками. Если массив большой, то неудобно.Код:const fx1:array[1..5] of byte = ($EA,$AB,0,0,$AA);
Как сделать чтобы компилятор сам посчитал кол-во байт в скобках? Хотелось бы 'sizeof (fx1)', но не работает.
Директива {$R} не помогает. Где-то читал, что это можно обойти, но не помню где.
Через inline (1/2/3/4/5) можно вставить что угодно любой длины, но как получить указатель на эти данные? Можно добавить в начало ld hl,$+4 : ret, но это изврат.
Последний раз редактировалось Jason; 03.01.2026 в 02:17.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Предположу, что в Турбо Паскале 3 такой фишки нет. Придётся указывать руками.
Можно написать небольшую утилиту, которая будет бинарик конвертить в такой массив с указанием размера.
- - - Добавлено - - -
Да, ИИ подтверждают, что так и есть.
https://bitsavers.trailing-edge.com/...anual_1986.pdf
Сообщение от DeepSeek
В третьем турбопаскале это не будет работать. Оно понимает "byte" как объект размером 4 байта, в который входит сам байт, адрес его хранения и ещё что-то. Я делал патчер по *.crk файлу - и напоролся. Пришлось городить сарай из blockread / blockwrite с указателями на буфер (который там всегда 128 байт). Здесь виртуализация только мешает.
Вот пример использования звуков на AY из паскаля.
Последний раз редактировалось Jason; 03.01.2026 в 10:03.
Oleg N. Cher(03.01.2026)
Утилита, понятно же, не для третьего Турбо Паскаля. Или Вы хотите вести разработку всенепременно под CP/M?
Ага, а они типа на Бейсике. Нутак, чья вина, что нет ничего подобного на Обероне или ПЛ/М ? Может потому что вы постарались?
жерри,
давай пройдёмся по основам. Я думал, что это понимают все, но, видимо, нет.
У каждого человека есть круг своих интересов. Мои интересы - это языки программирования и поиск способов упростить ретро-разработку и снизить барьер вхождения в неё. Вот тогда и игры будут на ПЛ/М и Обероне. Я не интересуюсь асм-разработкой. Асм для меня просто неизбежное зло. Я не претендую на экспертное мнение в знании ретро-платформ. Напротив.
Я не обязан разрабатывать игры, половина форумчан этого не делает. Ты почему до сих пор не выколол им глаза? Нет, ты неравнодушен почему-то именно ко мне. Ну вот что с тобой не так? Я могу писать игры, но не должен, особенно потому, что тебе так хочется. Ты жаждешь конкуренции со мной? Забудь.
- - - Добавлено - - -
Ещё, жерри, меня очень интересует разработка переносимых между ретро-платформами игр. Область почти фантастическая. И асм здесь никак не поможет.
Да, возможно, я никогда не найду никакого решения, но думать и мечтать об этом мне нравится. А тут ты со своими грубыми лапами и грязными намёками про твои ассемблерные таланты и отсутствие моих. Что мне за дело до этого.
Эту тему просматривают: 5 (пользователей: 0 , гостей: 5)