30 августа 2017 |
|
Новости by Alone Coder Изменения в пакете NedoLang: - Теперь компилятор поддерживаетдиректории. Вместо 200 файлов в одном каталоге теперь каждый проект лежит в своей папочке, а ещё есть общая папка../_sdk/ . В параметрах вызова используются именно прямые слэши типа/ . - Ряд багфиксов в компиляторе, библиотеках, утилитах nedotrd и nedores (спасибоHippiman ). - В ошибках компиляциипоказывается имя исходника (в ошибках ассемблера проблемы из-за недостатка памяти). - Новые функции вio.h: fread(PBYTE buf, UINT size, UINT n, PBYTE file); loadfile(PCHAR filename, PBYTE addr); findlastslash(PCHAR s) (пропускает путь к файлу); readsectors/writesectors(PBYTE buf, UINT trsec, BYTE count). Ещё была функцияcomparedesc(PCHAR filename, PBYTE desc) (для сравнения дескриптора TR-DOS с заданным именем файла), но она закомментирована из-за нехватки памяти. - Появился нативный исполнятор батников batch, запускающий бинарники с заданными параметрами. Я переписал батники таким образом, что они могут работать и в Windows, и на Speccy. Batch располагается с адреса OxfaOO и передаёт строку с параметрами по указателю в CH_ADD=23645. Теперь для тестирования не нужны хитрые бейсик-загрузчики. - Интегрирована звуковая библиотекаayfxplay.h из Ball Quest и Evo SDK. - Добавлен128K рантайм:runtime.h. Предоставляет порты Oxfe, 0x7ffd, несколько установщиков прерываний и обработчик прерываний (с отдельным стеком, восстановлением вершины стека из регистра DE и вызовом двух пользовательских колбеков - один вызывается перед музыкой, другой после). - Новая библиотекаprint.h. Состоит из процедур setxy, prchar, nprintf (аналог printf, поддерживает только форматы %s, %c, %d, %x, %%). Печатает на экране, но для утилит свободна только верхняя треть, потому что бывает открыто до 8 файлов одновременно. - Новые нативные утилиты: diff (сравнивает два файла и показывает различия на экране), nedodel (удаляет файл), movedisk (уплотняет TR-DOS диск) и пока ненативный nedopad (обрезает или дополняет файл до заданного размера). - Так что теперь тестирование NedoLang'а автоматическое! Каждая часть (компилятор, токенизатор, ассемблер) помещается на один TRD и не требует рамдиска для работы. После этого я для совместимости сделал две версии str:str.i и str.c (для совместимости с ARM ), и две версии io:iofast.i и io.i + io.c (чтобы на ARM Thumb можно было использовать рамдиск в формате TRD). ARM Thumb таргет добавлен в компилятор, токенизатор и ассемблер. Компилятор под ARM Thumb уже работает! Сначала я его тестировал с помощью ассемблера из Keil и дебагера из Phyton (ассемблер в Phyton несовместимый) - токенизатор под Z80, скомпилированный под ARM Thumb, выдаёт правильный результат на рамдиске. Потом я довёл токенизатор и ассемблер до обработки того же ассемблерного исходника с получением того же самого выхода, что ассемблер из Keil. Проблема была со смещением адресации на Thumb: нужны нечётные указатели на функции, но чётные указатели на данные! Потом всё-таки пришлось отказаться от совместимости с Keil -овским ассемблером для простоты. Некоторые команды Thumb не используются в компиляторе, так что я их не проверял. Есть желающие проверить? Качайте релиз-кандидат тут:http://alonecoder.nedopc.com/zx/ Теперь не хватает только нативного IDE. Кстати, никому не попадались исходники C Warp? * * * Hippiman сменил квартиру, после чего начал писать игровой движок на NedoLang. Пора публиковать его статью про линковку модулей в главном конкуренте NedoLang - Evo SDK :) В NedoLang для этого есть командаEXPORT. Louisa рисует 3D модель нашей будущей квартиры (на днях мы её обмерили). John Silver купил студийные колонки-мониторы. Они воспроизводят каждый чих в музыке :) Я удивился, насколько грязные были оригинальные записи Beatles и много что ещё... Savelij13 с помощьюDimkaM сделал новую версию TR-DOS для ZX Evo, которая поддерживает хитрые лоадеры. TDD/MSD из Уфы снова появился после многих лет и спаял неофициальное исправление схемы питания для ZX Evo. В это же время его одногруппникSAVC написал пару утилит для Speccy с исходниками: показывалка нажатых клавиш view_keys и редактор шрифтов font-convert-ed (смотри в приложении - давно у нас не было приложения :)). Но потом исчез. Насколько можно судить, первая плата ATM 8.00 всё-таки уже набитаZorel'ом и будет отправлена Maksagor'у. Это первая инкарнация стандарта ATMЗ на рассыпухе. Следим за событиями :) Я забыл сообщить в прошлом номере, что венгерские хакеры портировали Wolfenstein 2004 на компьютер Enterprise 128. Очень точная конверсия. Даже музыку сконвертили. Они это делали на какое-то компо для Enterprise, но вообще не связались со мной >:( Прошло несколько демопати, так что, наверно, пора опубликовать мыслищи разных сценеров по поводу демопатистроения из старых логов - смотри следующую статью.
Other articles:
|
|
|
|
|
|
|
Similar articles:
В этот день... 21 November