Важная информация

User Tag List

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 34

Тема: ZX COMPILER

  1. #21
    Member Аватар для Vovoi
    Регистрация
    06.07.2005
    Адрес
    г. Петрозаводск
    Сообщений
    151
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    на сайте Worldofspectrum.org я нашел MCoder-2.......
    Ёшкин-кошкин!
    я же ссылочегу дал, где нада пошукать.
    ;(((
    Версия 5!
    Spectrum Basic

  2. #22
    Guru Аватар для ALKO
    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,257
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    183
    Поблагодарили
    86 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vovoi Посмотреть сообщение
    Ёшкин-кошкин!
    я же ссылочегу дал, где нада пошукать.
    ;(((
    Версия 5!
    TRD конечно клевый сайт,но мне нужна программа соответствующая двум критериям:
    ПЕРВОЕ - tap,z80 or tzx формат.
    ВТОРОЕ - что бы проги нормально функционировали на сорокавосьмикилобайтных машинах.

    ---------- Post added at 14:56 ---------- Previous post was at 14:53 ----------

    Ах да, еще что б никакой связи с дисковым интерфейсом не было.
    Т.к. у меня нет дисковода на спеках , а обьем памяти жалко расходовать на такие вестчи.

    ---------- Post added at 15:00 ---------- Previous post was at 14:56 ----------

    Оффтопик -> где можно по выше указанным параметрам найти компрессор изображений.(что б управление осуществлялось через бэйцык командами Randomidze USR [address])?

  3. #23
    Banned
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    ПЕРВОЕ - tap,z80 or tzx формат.
    может из trd проще в тап перевести на пц?

  4. #24
    Member Аватар для Vovoi
    Регистрация
    06.07.2005
    Адрес
    г. Петрозаводск
    Сообщений
    151
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Насчёт Си, я имел в виду начать с составления списка начальных операторов и операций, которые потребуются для создания простейшей проги типа - puts ('Speccy foreva!') и которые с вероятностью в 100% реализовываются на камне Z80 без извратов. Затем, постепенно можно расти вверх.
    Так я поступил со Спектрум-бэйсиком, переводя один оператор за другим в машинный код. "http://zx.pk.ru/attachment.php?attachmentid=6235&d=1192144869". Просьба не ругать, поделке лет 10 уже. Бэйсик программа демонстрирует возможности миниатюрного компилятора.

    Цитата Сообщение от ALKO Посмотреть сообщение
    ...Оффтопик -> где можно по выше указанным параметрам найти компрессор изображений.(что б управление осуществлялось через бэйцык командами Randomidze USR [address])?
    На том же сайте есть и упаковщики, найдёшь. Всё равно с ПЦ постишь, значит и Unreal запустить можешь, а там сконвертишь как тебе нужно
    Последний раз редактировалось Vovoi; 29.12.2009 в 15:13.
    Spectrum Basic

  5. #25
    Activist Аватар для Higgins
    Регистрация
    03.05.2007
    Адрес
    St. Petersburg
    Сообщений
    297
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vovoi Посмотреть сообщение
    Насчёт Си, я имел в виду начать с составления списка начальных операторов и операций, которые потребуются для создания простейшей проги типа - puts ('Speccy foreva!') и которые с вероятностью в 100% реализовываются на камне Z80 без извратов. Затем, постепенно можно расти вверх.
    На местных форумах это обсуждалось несколько раз. Если сказать коротко, резюме получается такое: без оптимизаций практического смысла в компиляторе мало, а реализация оптимизаций -- это очень большая задача даже для опытных в этом деле людей. А компиляторов, которые генерируют код для Z80 с показателями оптимальности в диапазоне от "никак" до "так себе", их и без того хватает.
    Higgins ZX Spectrum Emulator 8.10 alpha 3 available
    Please write us to report a bug or request a feature.

  6. #26
    Member Аватар для Vovoi
    Регистрация
    06.07.2005
    Адрес
    г. Петрозаводск
    Сообщений
    151
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Higgins Посмотреть сообщение
    На местных форумах это обсуждалось несколько раз....без оптимизаций практического смысла в компиляторе мало....
    Да, поэтому проще на асме писать, или, если возникнет такой уж неугасимый жар - писать компилятор спектрум-бэйсика.
    =)
    Последний раз редактировалось Vovoi; 05.01.2010 в 00:41.
    Spectrum Basic

  7. #27
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,099
    Спасибо Благодарностей отдано 
    22
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    цитата: TRD конечно клевый сайт,но мне нужна программа соответствующая двум критериям:
    ПЕРВОЕ - tap,z80 or tzx формат.
    ВТОРОЕ - что бы проги нормально функционировали на сорокавосьмикилобайтных машинах.


    Если еще интересна тема компилятора лови калыбаху! Мануал прилагается.

    Бласт мосч! Правда там пакет состоит из нескольких частей оптимизатор-компилятор. И довольно геморойно на кассетах компилить-править-снова компилить.. повторять по мере необходимости
    Последний раз редактировалось null_device; 03.10.2015 в 13:42.

  8. #28
    Member Аватар для Vovoi
    Регистрация
    06.07.2005
    Адрес
    г. Петрозаводск
    Сообщений
    151
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Фрагмент описания MC2b.v5:
    { Параметры процедурам в машинных кодах могут передаваться через переменные.
    Имя числовой переменной транслируется в два байта ее адреса. Например:
    100 LET var=10: REM LINE 42,var
    Оттранслируется как команда
    LD HL,(var)
    }
    Из примера чётко видно, что интерпретация вышеуказанной программы средствами spectrum-basic невозможна. Компилятор MCoder-2 "привинчивает" к бэйсику дополнения, которые могут выполняться только в скомпилированном коде.
    В статье "ZX Review #5-6" Форум - По поводу компилятора бейсика "Blast" [http://www.zxpress.ru/article.php?id=1673] обсуждается другой, более полный компилятор спектрум-бэйсика. Авторы хотят положить конец неполным компилерам для ZX-Spectrum, создав один полноценный. В статье, в качестве примеров присутствуют такие выкрутасы как:
    10 LET A=VAL((STR$ A)(1 TO 3))
    (выходит ошибка)
    10 LET A=VAL(STR$ A)(1 TO 3)
    (все нормально)
    А ведь учившиеся по книжке "Как написать игру" [http://trd.speccy.cz/book.htm], хорошо помнят о подобных приёмах, которые лишь накручивают логику в компилерах, увеличивая объём самого компилятора

    Так вот, что я подумал.
    Один вариант построения компилятора Spectrum-Basic, это опираться на бэйсик-программы и бэйсик-игры и затачивать компилятор исключительно под них. Тогда с исходной программой будет великолепно справляться интерпретатор ПЗУ, а полноценный копилятор лишь ускорит программу.
    Но таких программ немного, так что сейчас наверное этим заниматься не имеет смысла, да и никто не будет.
    Второй вариант - увлечённо строить компиляторы типа MC2b.v5, когда бэйсик-программа, может лишь частично выполняться интерпретатором ПЗУ и в полной мере проявлять себя ТОЛЬКО в скомпилироанном виде.
    Здесь, на мой взгляд, теряется очень важная фишка - возможность отладки программы. В этом случае выигрыш лишь в том, что программа быстро набирается и подходит лишь тем, которые отлично знают, ЧТО делает каждый оператор в тексте и КАК он будет сформирован в RAM. Это некий переходный вариант бэйсик-ассемблер.
    Своими вставками немного напоминает Пакет машиннокодовых процедур SUPERCODE/NEW SUPERCODE (авторы F.Vachha & V.Rumsey) [http://grands.land.ru/tzxutils.htm], когда программа на бэйсике обращается в оперативку, запуская фрагменты кода, заранее выполненного на ассемблере. Таким образом, в бэйсик-программе возникают новейшие операторы, например, по выводу спрайтов и т.д. Можно скомпилировать сей гибрид программой MCoder-2, но придется вести расчёты, чтобы расположить полученный код впритык к библиотекам SUPERCODE. Тот ещё гемор.
    В книге Капульцевичей говорилось, что программы по стилю написания в конечном счете уже не похожи на обычные для спектрум-бэйсика, они пишутся так, как этого желает компилятор. Програмер ограничивает себя в сладком.
    Так что остается вариант компилятора, когда в бэйсик можно вставлять мнемоники асма (вместо числовых значений) и забирать/передавать этим кускам кода данные.
    Учитывая некоторый момент, что на Спеке, надеюсь, всё же возникнет какая-то графическая ОС, следует помечтать о каком-то отдельном редакторе, в котором присутствуют хотя бы ассемблер и сокращенный бэйсик, а прога компилится с учетом API самой системы (вывод музыки, текста, спрайтов). Тогда програмер уже не станет заботиться об оперативке, либо о том, как и где разместить музыку/спрайты.
    Но это уже другой разговор о том, остановиться ли на бэйсике, либо использовать Си/Паскаль.
    Ну с Си мы уже всё решили, да?
    Pascal или Basic?
    )))))))))
    _____________
    У меня же в STC-1 была мечта прикрутить асм, но на словарь мнемоник ушло бы много оперативки. Посчитал скока выйдет, опечалился и забросил идею.
    Программа представляет собой текстовый редактор, который поделен на две части. Поделены условно, поскольку на экране лишь какая-то одна.
    В одной части происходит редактирование бэйсик-программы. В другой, редактирование (по желанию) ассемблерного текста операторов, этот бэйсик составляющих. Библиотеки текстов асма грузятся вместе с редактором. Вся кухня напоминает макроассемблер. Только в макроасме сложно реализовать FOR-NEXT, а здесь, этим занимается сама програмуля. В ходе трансляции, программа читает оператор, лезет в текст асма, его составляющий, компилит встроенным ассемблером, ставит значение, идёт к следующему. Таким образом, всё сводится к умелому жонглированию асм-текстов. Вот такой был план.
    Начинающему, не составит сложность набрать програмулю, а для кодера перешедшего на асм, это быстрый набор листинга.
    Новые операторы можно составлять самостоятельно, в том числе по управлению спрайтами и т.п.
    Spectrum Basic

  9. #29
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,099
    Спасибо Благодарностей отдано 
    22
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vovoi Посмотреть сообщение
    ..Из примера чётко видно, что интерпретация вышеуказанной программы средствами spectrum-basic невозможна. Компилятор MCoder-2 "привинчивает" к бэйсику дополнения, которые могут выполняться только в скомпилированном коде..
    Это, т.с. издержки производства.. как невозможность задать переход с параметром (GOTO n, GOSUB n), иная логика работы команды RND после компиляции (об этом написано в фирменном мануале на MCoder2), и пр. ограничения накладываемые любым компилятором.

    Цитата Сообщение от Vovoi Посмотреть сообщение
    ..Программа представляет собой текстовый редактор, который поделен на две части. Поделены условно, поскольку на экране лишь какая-то одна..
    Звучит заманчиво.. Идея двухпанельного редактора с компилятором-интерпретатором. Ждем развития и реализации в готовом коде.

    Компилятор на спектрумe на мой взгляд обречен как вид. С одной стороны вынуждает "подгонять" программу под компилятор. С другой, неоптимальная сборка конечного кода (хромает либо скорость, либо размер). В общем минусов при их использовании, зачастую, больше чем плюсов.

  10. #30
    Member Аватар для Vovoi
    Регистрация
    06.07.2005
    Адрес
    г. Петрозаводск
    Сообщений
    151
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    >Компилятор на спектрумe на мой взгляд обречен как вид.
    Если считать, что МЫ последние, кто занимается Speccy, то да, нам он по большей части не нужен. Если помечтать и прикинуть, что у молодёжи вдруг возникнет желание программировать на Спектруме, то компилятор будет промежуточным звеном между бэйсиком и асмом. Будем считать, что молодёжь сразу ринется в ассемблер.
    Spectrum Basic

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя

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

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

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

Похожие темы

  1. ASAM Compiler By Rob F. / Entire Group ...
    от Robus в разделе Программирование
    Ответов: 125
    Последнее: 30.09.2013, 13:39
  2. Кросплатформенный Си компилятор (Cross Platform C Compiler)
    от MegaMyth в разделе Программирование
    Ответов: 27
    Последнее: 12.11.2010, 23:02
  3. C compiler
    от vitasam в разделе Программирование
    Ответов: 17
    Последнее: 25.08.2005, 16:42
  4. An 8080/Z80 C Compiler
    от breeze в разделе Программирование
    Ответов: 1
    Последнее: 18.08.2005, 06:54

Ваши права

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