Сообщение от
x-code
А вот C-- я ещё 16-летним пацаном мечтал портировать на Вектор...штука была бы просто идеальная для игростроя
Да, соглашусь. Там много плюсов: можно явно обращаться к регистрам и много низкоуровневых штучек. Но C-- есть даже не один; их несколько. Вы наверное имеете в виду Sphinx C-- от Michael Sheker? Я когда-то по нему написал статью в двух частях.
Ну и обсуждали уже этот вопрос здесь:
Сообщение от
x-code
Переключение стека - довольно быстрая операция, по сравнению с режимами косвенной адресации, которые на 8080 эмулировать гораздо сложнее.
Я с этим даже не собираюсь спорить. Но смотрите. На асме выхлоп получается: байтовое вычисление, двухбайтовое вычисление, сохранил, загрузил регистры, вызвал подпрограмму с параметрами в регистрах. Форт его никогда не догонит, там совсем другое: пяток раз переключили стек, байтовых вычислений нет, есть только двухбайтовые, чтобы сохранить-загрузить - надо опять работать со стеком. Всегда.
Но есть способ: написать для Форта сверхэффективные слова, которые могут генерировать прямой машкод 8080. Это не считая встроенного Форт-ассемблера. Но я такого подхода практически не встречал. Я вообще не встречал исходников игр на Форте для восьмибиток. В основном пилят сам Форт.
Вот как бы это могло выглядеть:
Код:
HL + BC => var1
DE + DE => var2
B + C + D + E & #11 => var3
Когда-то я делал нечто подобное для Z80: язык COLOSS. Не на базе Форта, просто под его влиянием.
Опять же, наверно C-- будет повыразительнее и не такой мозголомный в отладке.