Если без увеличения места под процедуры, то у меня так получалось. Интересно, как там еще можно ускорить (без увеличения размера).
Вид для печати
Если без увеличения места под процедуры, то у меня так получалось. Интересно, как там еще можно ускорить (без увеличения размера).
Хорошо, но что там было оптимизировано сложно будет понять и перенести в новую версию без исходников, было/стало. :(
В исходниках РДС 3, файле VIRT, как я понимаю, сосредоточены все функции отрисовки символов, которые вызываются из DISP. Можете их обновить в соответствии с улучшениями, сделанными в РДС 2.04 / 2.05? И запас по байтам там есть небольшой, VIRT можно увеличить на 36 байт, если что... А я уж сделаю всё остальное и соберу новый вариант. :)
1. Методику инсталляции РДС помню примерно так: нужен диск в дисководе с COMMAND.SYS РДСа. А файл РДСа (старого или нового) можно загрузить через внешнее пзу. При старте форматируем кваз (LCtrl в эмуляторах) и все должно заработать. Альтернативный вариант - взять где-нибудь готовый образ кваза для РДС. Tim0xA делал такой, вроде в комплекте VV это он. Или в комплекте Kings Bounty. Не исключено, что есть более простой подход. HDDшный РДС скорее всего может взять COMMAND.SYS с HDD.
2. Исходники патча вывода символов РДС (надеюсь) на другом компе, выложу в воскресенье, если этот вопрос останется актуальным.
Вообще-то не нужен -- при запуске РДС с форматированием КД (с нажатым УС) он там будет создан автоматически, как и OS.COM. Для инсталляции РДС вообще ничего не нужно, кроме самого РДС, в "большом" файле rdsXXX.rom. :)
Спасибо, посмотрим, что там...
Да, я забыл/напутал. БезHDDшным РДСам достаточно любого диска (без COMMAND.SYS), чтобы дойти до командной строки. А HDDшным (при наличии HDD или образа HDD) и дискета не нужна.
У меня получилось отформатировать диск и РДС запустилась. Почему-то клавиатура в DX-Forth не работает.
- - - Добавлено - - -
Набросал на скорую руку совершенно бесхитростный вывод столбцами.
13 печальных символов за прерывание.
Для рыбы многовато развернутых циклов, но вообще компактно и все-таки это хелло вролд с минимальной эмуляцией терминала.
Или так
Гениально! 16.
- - - Добавлено - - -
Чего-то не то форум глюканул, не то ты удалил vert2..
Эх, я думал успел удалить и шито-крыто. Поторопился с vert2, там получился nblit вместо blit. А если переделать в blit, он медленнее vert.
Немного безумия. Можно сэкономить на проверках. Ультимативный вариант - берем весь байт (столбец) и диспетчер вызывает одну из 256 процедур (они ничего не проверяют, только рисуют свой уникальный столбец). Могу предположить, что это не найдет понимания, поэтому компромиссный вариант - полубайт и 16 процедур, но тут уже надо считать, будет ли выигрыш.