Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: FORTH в игре, или Red Power 2 Control для Minecraft. |
|
|
[url=https://ftb.gamepedia.com/NedoComputers]NedoComputers for MineCraft[/url] (made by Shuleshkin)
|
|
|
|
Добавлено: Чт янв 31, 2019 18:45 |
|
|
|
|
|
Заголовок сообщения: |
Re: FORTH в игре, или Red Power 2 Control для Minecraft. |
|
|
Чем заменить Red Power 2? (компьютеров RP2 в игре так и не решён) Но д[т]ело Форт живо Форт репозитарий данного автораP.S. Исходный топик обсуждения RP2 на minecrafting.ru И создатель мода RP2 Eloraam похоже пишет свою игру с воксельной графикой.
Чем заменить Red Power 2? (компьютеров RP2 в игре так и не решён) [url=http://minecrafting.ru/topic/9722/page-21http://minecrafting.ru/topic/9722/page-21#entry567811]Но д[т]ело Форт живо[/url] :) [url=https://bitbucket.org/Shuleshkin/]Форт репозитарий данного автора[/url]
P.S. [url=http://minecrafting.ru/topic/6612/]Исходный топик обсуждения RP2 на minecrafting.ru[/url] И создатель мода RP2 Eloraam похоже пишет свою игру с воксельной графикой.
|
|
|
|
Добавлено: Пн фев 22, 2016 20:50 |
|
|
|
|
|
Заголовок сообщения: |
Re: FORTH в игре, или Red Power 2 Control для Minecraft. |
|
|
|
|
|
Добавлено: Пт сен 18, 2015 21:01 |
|
|
|
|
|
Заголовок сообщения: |
Re: FORTH в игре, или Red Power 2 Control для Minecraft. |
|
|
С экзаменами разобрался, можно продолжить с Фортом... В своей версии вернул совместимость с MineOS со странными названиями слов >.< Для англоязычной аудитории опубликовал тут. Если заметите ошибки или неточности перевода, то напишите. Просто мне проще понимать английский чем писать на нём... И такой вопрос: как часто вы используете арифметику с числами двойной длины? Дело вот в чём: в самой игре эти числа толком ненужны, но из-за последнего обновления они могут пригодиться (хотя и будут использоваться редко). 1) Сортрон - сортировщик предметов, управляемый компьютером. Предметы он различает по хеш-суммам названий (насколько я понял). Это как раз те самые 32-бита... 2) 32-битный таймер. На вики о нём написано следующее: Цитата: Real-time clock Every 65EL02 CPU is equipped with a free-running 32-bit timer. This timer starts at zero when the CPU block is placed into the world and thereafter increments by one every tick (1/20 of a second), no matter what the computer is doing (actively running code, waiting for an interrupt, or even halted), providing a rollover period of almost seven real-world years. The timer never resets, even if the computer’s reset button is pushed, though presumably after its almost-seven-year period has passed it will roll over from 0xFFFFFFFF to zero. Executing the MMU #0x87 instruction reads the current value of the timer, storing the upper 16 bits into the D register and the lower 16 bits into the A register. As of this writing it is not known whether the timer continues to increment when the computer is in an unloaded world chunk.
С экзаменами разобрался, можно продолжить с Фортом...
В своей версии вернул совместимость с MineOS со странными названиями слов >.< :^) Для англоязычной аудитории опубликовал [url=https://bitbucket.org/FoxLBA/alternative-forth-for-rpc]тут[/url]. Если заметите ошибки или неточности перевода, то напишите. Просто мне проще понимать английский чем писать на нём...
И такой вопрос: как часто вы используете арифметику с числами двойной длины?
Дело вот в чём: в самой игре эти числа толком ненужны, но из-за последнего обновления они могут пригодиться (хотя и будут использоваться редко). 1) Сортрон - сортировщик предметов, управляемый компьютером. Предметы он различает по хеш-суммам названий (насколько я понял). Это как раз те самые 32-бита... 2) 32-битный таймер. На вики о нём написано следующее: [quote][b]Real-time clock[/b] Every 65EL02 CPU is equipped with a free-running 32-bit timer. This timer starts at zero when the CPU block is placed into the world and thereafter increments by one every tick (1/20 of a second), no matter what the computer is doing (actively running code, waiting for an interrupt, or even halted), providing a rollover period of almost seven real-world years. The timer never resets, even if the computer’s reset button is pushed, though presumably after its almost-seven-year period has passed it will roll over from 0xFFFFFFFF to zero. Executing the MMU #0x87 instruction reads the current value of the timer, storing the upper 16 bits into the D register and the lower 16 bits into the A register. As of this writing it is not known whether the timer continues to increment when the computer is in an unloaded world chunk.[/quote]
|
|
|
|
Добавлено: Ср янв 30, 2013 10:14 |
|
|
|
|
|
Заголовок сообщения: |
Re: FORTH в игре, или Red Power 2 Control для Minecraft. |
|
|
ХитрыйЛис писал(а): Ребята (на основе их системы я делал свою версию) сделали проще - просто убрали заголовки у служебных слов. Это даёт 2 плюса - невозможность использовать их в диалоговом режиме и экономит память. Как вариант... Было подобное кажется в gp-forth когда можно было при окончательной компиляции убирать лишнее в т.ч. имена. Но вообще-то такое прокатывает только при целевой компиляции - когда forth-систему рассматривать как законченный конечный продукт а-ля недоделанного Байсик-интерпритатора с дурацким синтаксисом и правилами. Стандартный Си-подход - написать всю программу, откомпилировать, запустить результат. Если что не так - запустить отладку на эмуляторе, подправить исходник, откомпилировать заново. Недостаток подхода с убиванием служебных слов в том, что этих слов изначально в Форт-системе нет и использовать их в ней уже нельзя (хотя этот код и работает как составная часть). Они есть на этапе компиляции Форт-системы до ее запуска.
[quote="ХитрыйЛис"]Ребята (на основе их системы я делал свою версию) сделали проще - просто убрали заголовки у служебных слов. Это даёт 2 плюса - невозможность использовать их в диалоговом режиме и экономит память.[/quote] Как вариант... Было подобное кажется в gp-forth когда можно было при окончательной компиляции убирать лишнее в т.ч. имена. Но вообще-то такое прокатывает только при целевой компиляции - когда forth-систему рассматривать как законченный конечный продукт а-ля недоделанного Байсик-интерпритатора с дурацким синтаксисом и правилами. Стандартный Си-подход - написать всю программу, откомпилировать, запустить результат. Если что не так - запустить отладку на эмуляторе, подправить исходник, откомпилировать заново. Недостаток подхода с убиванием служебных слов в том, что этих слов изначально в Форт-системе нет и использовать их в ней уже нельзя (хотя этот код и работает как составная часть). Они есть на этапе компиляции Форт-системы до ее запуска.
|
|
|
|
Добавлено: Пн дек 17, 2012 03:10 |
|
|
|
|
|
Заголовок сообщения: |
Re: FORTH в игре, или Red Power 2 Control для Minecraft. |
|
|
Ребята (на основе их системы я делал свою версию) сделали проще - просто убрали заголовки у служебных слов. Это даёт 2 плюса - невозможность использовать их в диалоговом режиме и экономит память.
Ребята (на основе их системы я делал свою версию) сделали проще - просто убрали заголовки у служебных слов. Это даёт 2 плюса - невозможность использовать их в диалоговом режиме и экономит память.
|
|
|
|
Добавлено: Пн дек 17, 2012 00:35 |
|
|
|
|
|
Заголовок сообщения: |
Re: FORTH в игре, или Red Power 2 Control для Minecraft. |
|
|
ХитрыйЛис писал(а): Не думаю, что понадобится реализовывать несколько словарей. Большинство "задач" сводится к управлению сигналами (в пределе можно подключить 255 декодеров, но все они 16-разрядные).
Вам не кажется странным наличие ассемблера (!) в игре (!!)? Не обязательно речь о АСМ-е. У тебя может быть множество слов которые нужны были при реализации конечного вида этой игры и которые в ее окончательном варианте не должны быть доступны (служебные они). Механизм словарей позволяет оставить в конечном итоге ограниченный набор слов которые будут доступны в юзерском интерфейсе закрыв возможность случайного использования служебного просто не добавляя в конечный контекст средств доступа к словарям с ненужной юзерам информацией. Т.е. создаешь словарь GAME туда кидаешь то, что нужно в игре, а потом оставляешь только его командами ONLY GAME .
[quote="ХитрыйЛис"]Не думаю, что понадобится реализовывать несколько словарей. Большинство "задач" сводится к управлению сигналами (в пределе можно подключить 255 декодеров, но все они 16-разрядные).
Вам не кажется странным наличие ассемблера (!) в игре (!!)?[/quote] Не обязательно речь о АСМ-е. У тебя может быть множество слов которые нужны были при реализации конечного вида этой игры и которые в ее окончательном варианте не должны быть доступны (служебные они). Механизм словарей позволяет оставить в конечном итоге ограниченный набор слов которые будут доступны в юзерском интерфейсе закрыв возможность случайного использования служебного просто не добавляя в конечный контекст средств доступа к словарям с ненужной юзерам информацией.
Т.е. создаешь словарь GAME туда кидаешь то, что нужно в игре, а потом оставляешь только его командами ONLY GAME .
|
|
|
|
Добавлено: Пн дек 17, 2012 00:23 |
|
|
|
|
|
Заголовок сообщения: |
Re: FORTH в игре, или Red Power 2 Control для Minecraft. |
|
|
ХитрыйЛис писал(а): Не думаю, что понадобится реализовывать несколько словарей. Большинство "задач" сводится к управлению сигналами (в пределе можно подключить 255 декодеров, но все они 16-разрядные).
Игра, с прагматичной точки зрения, всё же эта "некоторая" площадка для приобретения каких то практических или нет знаний/навыков, а сама игровая модель этому способствует или нет. ХитрыйЛис писал(а): Вам не кажется странным наличие ассемблера (!) в игре (!!)? При наличии Форт это уже , отчасти "избыточный" элемент, но тоже достаточно интересный для практического понимания устройства существущих компьютеров. ХитрыйЛис писал(а): Но компьютер в игре, да ещё и на низком уровне?!
Есть, например общирная область промышленной автоматизации с использованием ПЛК и там есть "достаточно" низкоуровненвые языки программирования. ХитрыйЛис писал(а): С другой стороны - это интересный способ изучить ассемблер, форт, да и вообще программирование в целом Знакомство и использование изначально "осязаемых" и не переусложнённых моделей нормально, но возможность понять и существующие парадигмы с использованием данного инструментария должна присутствовать. P.S. Форт можно расширить и применить к "любой" существующей технологии:)
[quote="ХитрыйЛис"]Не думаю, что понадобится реализовывать несколько словарей. Большинство "задач" сводится к управлению сигналами (в пределе можно подключить 255 декодеров, но все они 16-разрядные). [/quote] Игра, с прагматичной точки зрения, всё же эта "некоторая" площадка для приобретения каких то практических или нет знаний/навыков, а сама игровая модель этому способствует или нет.
[quote="ХитрыйЛис"]Вам не кажется странным наличие ассемблера (!) в игре (!!)?[/quote] При наличии Форт это уже , отчасти "избыточный" элемент, но тоже достаточно интересный для практического понимания устройства существущих компьютеров.
[quote="ХитрыйЛис"] Но компьютер в игре, да ещё и на низком уровне?! [/quote] Есть, например общирная область промышленной автоматизации с использованием ПЛК и там есть "достаточно" низкоуровненвые языки программирования.
[quote="ХитрыйЛис"] С другой стороны - это интересный способ изучить ассемблер, форт, да и вообще программирование в целом :lol:[/quote] Знакомство и использование изначально "осязаемых" и не переусложнённых моделей нормально, но возможность понять и существующие парадигмы с использованием данного инструментария должна присутствовать.
P.S. Форт можно расширить и применить к "любой" существующей технологии:)
|
|
|
|
Добавлено: Пн дек 17, 2012 00:18 |
|
|
|
|
|
Заголовок сообщения: |
Re: FORTH в игре, или Red Power 2 Control для Minecraft. |
|
|
Не думаю, что понадобится реализовывать несколько словарей. Большинство "задач" сводится к управлению сигналами (в пределе можно подключить 255 декодеров, но все они 16-разрядные). Вам не кажется странным наличие ассемблера (!) в игре (!!)? Компьютер в компьютере это нормально и называется эмулятор. Игра в игре тоже привычно, хотя и редко. Но компьютер в игре, да ещё и на низком уровне?! С другой стороны - это интересный способ изучить ассемблер, форт, да и вообще программирование в целом
Не думаю, что понадобится реализовывать несколько словарей. Большинство "задач" сводится к управлению сигналами (в пределе можно подключить 255 декодеров, но все они 16-разрядные).
Вам не кажется странным наличие ассемблера (!) в игре (!!)? Компьютер в компьютере это нормально и называется эмулятор. Игра в игре тоже привычно, хотя и редко. Но компьютер в игре, да ещё и на низком уровне?!
С другой стороны - это интересный способ изучить ассемблер, форт, да и вообще программирование в целом :lol:
|
|
|
|
Добавлено: Вс дек 16, 2012 23:48 |
|
|
|
|
|
Заголовок сообщения: |
Re: FORTH в игре, или Red Power 2 Control для Minecraft. |
|
|
ArtemKAD писал(а): В последнем стандарте механизм таков: 2) Контекст поиска - по сути специализированный стек в котором перечислены те словари в которых производится поиск слова. В этот стек может быть добавлен словарь(собственно слово с именем словаря именно это и делает), убран, продублирован (ALSO ONLY).... . - Исполнение имени слова словаря заменяет верхний элемент СONTEXT стека. - ALSO дублирует элемент CONTEXT стека - PREVIOUS убирает верхний элемент CONTEXT стека - ONLY приводит CONTEXT стека к "какому-то" ?известному состоянию. - DEFINITIONS изменяет CURRENT словарь для добавления в соответствии с верхним элементом CONTEXT стека-словаря - ORDER показывает текущий порядок словарей - VOCS показывает присутствующие (?видимые) словари в системе - GET-ORDER копирует текущий порядок словарей на стек данных - SET-ORDER восстанавливает запомненный порядок словарей со стека данных - есть ещё слова по созданию неименнованного словаря P.S. Примерно так:) Что такое словарь статья mOleg на местном форуме. (раздел статей)
[quote="ArtemKAD"] В последнем стандарте механизм таков: 2) Контекст поиска - по сути специализированный стек в котором перечислены те словари в которых производится поиск слова. В этот стек может быть добавлен словарь(собственно слово с именем словаря именно это и делает), убран, продублирован (ALSO ONLY).... .[/quote] - Исполнение имени слова словаря [b]заменяет верхний элемент[/b] СONTEXT стека. - ALSO дублирует элемент CONTEXT стека - PREVIOUS убирает верхний элемент CONTEXT стека - ONLY приводит CONTEXT стека к "какому-то" ?известному состоянию. - DEFINITIONS изменяет CURRENT словарь для добавления в соответствии с верхним элементом CONTEXT стека-словаря - ORDER показывает текущий порядок словарей - VOCS показывает присутствующие (?видимые) словари в системе - GET-ORDER копирует текущий порядок словарей на стек данных - SET-ORDER восстанавливает запомненный порядок словарей со стека данных - есть ещё слова по созданию неименнованного словаря
P.S. Примерно так:) [url=http://fforum.winglion.ru/viewtopic.php?p=12396#p12396]Что такое словарь[/url] статья mOleg на местном форуме. (раздел статей)
|
|
|
|
Добавлено: Вс дек 16, 2012 22:42 |
|
|
|
|
|
Заголовок сообщения: |
Re: FORTH в игре, или Red Power 2 Control для Minecraft. |
|
|
ХитрыйЛис писал(а): mOleg писал(а): LAST и LATEST Тут только 1 словарь и я пока не представляю как несколько словарей взаимодействуют друг с другом... А тут и представлять не много. Механизм простой и в то-же время очень мощный. По своей сути словарь = связанный список слов по которому Форт-система может провести поиск искомого слова или в который она может добавить новое слово. Т.е. это имя, поле связи на следующее имя и поле которое определяет суть слова. Чаще всего в коде все это идет в перемешку, но можно их (имя и суть) и разделить. В последнем стандарте механизм таков: 1) Один словарь куда будет добавляться новое слово (он никак не связан с поиском т.е. туда добавляют, но не обязательно там ищат уже существующие слова) - тут вроде как вариантов не много. 2) Контекст поиска - по сути специализированный стек в котором перечислены те словари в которых производится поиск слова. В этот стек может быть добавлен словарь(собственно слово с именем словаря именно это и делает), убран, продублирован (ALSO ONLY).... Добавить к этому можно разве что мелкую подробность - естественно менять контекст поиска может традиционно любое слово. К примеру слово CODE может добавлять в контекст АСМ-словарь и после него становятся доступны АСМ-слова, а слово END-CODE восстанавливае контекст убирая из него этот самый АСМ что-бы он "не путался под ногами". Механизм позволяет иметь в каждом словаре именно те слова и с тем смыслом который в нем нужен (к примеру + для словарей FORTH, ASM и FLOAT это должны быть разные слова) и является основой многих реализаций Форт-ООП библиотек и целевых компиляторов. ЗЫ. Как по мне этот механизм все еще до конца не раскрыт и ждет своего развития. И в первую очередь в сторону визуализации содержимого.
[quote="ХитрыйЛис"][quote="mOleg"]LAST и LATEST[/quote]Тут только 1 словарь и я пока не представляю как несколько словарей взаимодействуют друг с другом...[/quote]
А тут и представлять не много. Механизм простой и в то-же время очень мощный. По своей сути словарь = связанный список слов по которому Форт-система может провести поиск искомого слова или в который она может добавить новое слово. Т.е. это имя, поле связи на следующее имя и поле которое определяет суть слова. Чаще всего в коде все это идет в перемешку, но можно их (имя и суть) и разделить.
В последнем стандарте механизм таков: 1) Один словарь куда будет добавляться новое слово (он никак не связан с поиском т.е. туда добавляют, но не обязательно там ищат уже существующие слова) - тут вроде как вариантов не много. 2) Контекст поиска - по сути специализированный стек в котором перечислены те словари в которых производится поиск слова. В этот стек может быть добавлен словарь(собственно слово с именем словаря именно это и делает), убран, продублирован (ALSO ONLY)....
Добавить к этому можно разве что мелкую подробность - естественно менять контекст поиска может традиционно любое слово. К примеру слово CODE может добавлять в контекст АСМ-словарь и после него становятся доступны АСМ-слова, а слово END-CODE восстанавливае контекст убирая из него этот самый АСМ что-бы он "не путался под ногами". Механизм позволяет иметь в каждом словаре именно те слова и с тем смыслом который в нем нужен (к примеру + для словарей FORTH, ASM и FLOAT это должны быть разные слова) и является основой многих реализаций Форт-ООП библиотек и целевых компиляторов.
ЗЫ. Как по мне этот механизм все еще до конца не раскрыт и ждет своего развития. И в первую очередь в сторону визуализации содержимого.
|
|
|
|
Добавлено: Вс дек 16, 2012 22:07 |
|
|
|
|
|
Заголовок сообщения: |
Re: FORTH в игре, или Red Power 2 Control для Minecraft. |
|
|
Для настроек есть ещё место в MMU (через него настраиваются адреса). Биоса как такового нет. Вместо него только 2 уровня загрузки: 1) при нажатии на кнопку start с передней панели в начало памяти скидываются ID дисковода и терминала, а также по адресу 0х400 записывается загрузчик и передаётся ему управление. 2) Загрузчик читает ID дисковода, подключается к нему и копирует содержимое дискеты в оперативную память начиная с адреса 0х500. Затем передаёт туда управление.
Вообще, реализация "железа" зависит не от меня. Я с Элораам не общаюсь. (Сейчас она отлавливает баги в других частях мода. Делает классные вещи, то с людьми мало общается. Можно сказать, "молчаливый гений". Буквально.) Джаву я не изучал и залезть в файлы мода не могу.
Для настроек есть ещё место в MMU (через него настраиваются адреса). Биоса как такового нет. Вместо него только 2 уровня загрузки: 1) при нажатии на кнопку start с передней панели в начало памяти скидываются ID дисковода и терминала, а также по адресу 0х400 записывается загрузчик и передаётся ему управление. 2) Загрузчик читает ID дисковода, подключается к нему и копирует содержимое дискеты в оперативную память начиная с адреса 0х500. Затем передаёт туда управление.
Вообще, реализация "железа" зависит не от меня. Я с Элораам не общаюсь. (Сейчас она отлавливает баги в других частях мода. Делает классные вещи, то с людьми мало общается. Можно сказать, "молчаливый гений". Буквально.) Джаву я не изучал и залезть в файлы мода не могу.
|
|
|
|
Добавлено: Вс дек 16, 2012 21:35 |
|
|
|
|
|
Заголовок сообщения: |
Re: FORTH в игре, или Red Power 2 Control для Minecraft. |
|
|
ХитрыйЛис писал(а): Есть вопросы? Пока не "особо". Наверное, "интересным" вариантом было бы ввести поддержку Форт архитектуры в другой таблице команд переключаемой по зарезервированному коду 0хFF (или несколько таблиц, таблицу и "мкрокод" команд можно было загрузить в отведнную область памяти из "биоса" ядра для выполнения)
[quote="ХитрыйЛис"] Есть вопросы?[/quote] Пока не "особо". Наверное, "интересным" вариантом было бы ввести поддержку Форт архитектуры в другой таблице команд переключаемой по зарезервированному коду 0хFF (или несколько таблиц, таблицу и "мкрокод" команд можно было загрузить в отведнную область памяти из "биоса" ядра для выполнения)
|
|
|
|
Добавлено: Вс дек 16, 2012 21:07 |
|
|
|
|
|
Заголовок сообщения: |
Re: FORTH в игре, или Red Power 2 Control для Minecraft. |
|
|
Опишу ка я поподробнее этот процессор. 65EL02 Он полностью поддерживает инструкции 6502, 65С02 и около половины инструкций и способов адресации 65C816. А также добавлено ещё несколько инструкций и пару способов адресации. (which I've labelled the 65EL02, because I like the pun)
Стандартные регистры 6502: A X Y IP SP и регистр флагов. Дополнительные регистры: SR - стек возвратов (соответственно добавлены инструкции для него) I - индексный регистр. (для адресного интерпретатора) D - дополнительный регистр для математических операций (используется только для хранения старшей части числа при делении чисел 32-бит на 16-бит)
Начало шитого кода определяется инструкцией ent. (Enter word) Конец слова - инструкцией nxt. (NExT word) Есть ещё nxa (NeXt byte/word to Accumlator) Т.е. забирает из памяти 1 или 2 байта с увеличением регистра I на 1 или 2 соответственно.
Аппаратных прерываний нет. BRK - программное и его можно назначить на любой адрес. Инструкция WAI по идее должна ждать прерывание, но реально она ждёт очередного тика от оболочки (эмулятора или мирового тика карты minecraft).
Подобно выставлению адреса прерывания можно выставить любой адрес для портов (называются Redbus window) 1-е служит для манипуляций над любыми внешними устройствами и легко переключается между между разными ID. При обращении к заданному участку памяти генерируется протокол чтения или записи для Redbus (на 1 или 2 байта). 2-е окно является приёмным. Т.е. эту область извне могут поменять любые другие компьютеры.
Есть вопросы?
Опишу ка я поподробнее этот процессор. 65EL02 Он полностью поддерживает инструкции 6502, 65С02 и около половины инструкций и способов адресации 65C816. А также добавлено ещё несколько инструкций и пару способов адресации. (which I've labelled the 65EL02, because I like the pun)
Стандартные регистры 6502: A X Y IP SP и регистр флагов. Дополнительные регистры: SR - стек возвратов (соответственно добавлены инструкции для него) I - индексный регистр. (для адресного интерпретатора) D - дополнительный регистр для математических операций (используется только для хранения старшей части числа при делении чисел 32-бит на 16-бит)
Начало шитого кода определяется инструкцией ent. (Enter word) Конец слова - инструкцией nxt. (NExT word) Есть ещё nxa (NeXt byte/word to Accumlator) Т.е. забирает из памяти 1 или 2 байта с увеличением регистра I на 1 или 2 соответственно.
Аппаратных прерываний нет. BRK - программное и его можно назначить на любой адрес. Инструкция WAI по идее должна ждать прерывание, но реально она ждёт очередного тика от оболочки (эмулятора или мирового тика карты minecraft).
Подобно выставлению адреса прерывания можно выставить любой адрес для портов (называются Redbus window) 1-е служит для манипуляций над любыми внешними устройствами и легко переключается между между разными ID. При обращении к заданному участку памяти генерируется протокол чтения или записи для Redbus (на 1 или 2 байта). 2-е окно является приёмным. Т.е. эту область извне могут поменять любые другие компьютеры.
Есть вопросы?
|
|
|
|
Добавлено: Вс дек 16, 2012 20:43 |
|
|
|
|
|
Заголовок сообщения: |
Re: FORTH в игре, или Red Power 2 Control для Minecraft. |
|
|
ХитрыйЛис писал(а): В 65EL02 добавлена инструкция nxt, которая переходит по 2-х байтовой ссылке, находящейся по адресу указанном в специальном регистре (сам этот регистр связан со стеком возвратов). (получается форт-процессор?) Например, по два (три) регистра процессора желательно "аппаратно" связать со стеками в памяти (данных и возврата) для автоматической записи/чтения операндов на стек/из стека. с поддержкой сдвига регистров в стек при загрузке вершинного A регистра стека (+ желательна возможность использования 0-операндных команд). NXT это команда по поддержке косвенного шитого кода, что тоже неплохо. (некоторые Форт процессоры например microcore имеют её в своём арсенале.) ХитрыйЛис писал(а): В итоге код получается компактным, но таблица должна храниться где-то отдельно и имеет ограничение? Наверное, при желании, можно хранить и в связном списке (но под сомнением эффективность данного решения) а ограничение на количество кодов операций тоже не такое "жёсткое". Например в Форт программном обеспечении ->Сat Canon коипьютере Джефа Раскина использовалась своя "структура" расширения байт-кода команд. ХитрыйЛис писал(а): Тут только 1 словарь и я пока не представляю как несколько словарей взаимодействуют друг с другом... Они управляются кодом. (контекст последовательности просмотра словарей при поиске необходимого слова, и контекст в какой текущий CURRENT словарь добавлять найденное слово). В 83г и 94г стандартах есть отличия в моделях управления контекстом работы со словарями. Словари, в части своих свойств представляют некоторый функционал подобный объектной модели и позоляют, например, добавить фунциональную модель модулей. P.S. В 65LE02 определены прерывания по аппраратным сигналам линий? (в описании есть команда BRK - это софтовое прерывание?)
[quote="ХитрыйЛис"]В 65EL02 добавлена инструкция nxt, которая переходит по 2-х байтовой ссылке, находящейся по адресу указанном в специальном регистре (сам этот регистр связан со стеком возвратов). (получается форт-процессор?)[/quote] Например, по два (три) регистра процессора желательно "аппаратно" связать со стеками в памяти (данных и возврата) для автоматической записи/чтения операндов на стек/из стека. с поддержкой сдвига регистров в стек при загрузке вершинного A регистра стека (+ желательна возможность использования 0-операндных команд). NXT это команда по поддержке косвенного шитого кода, что тоже неплохо. (некоторые Форт процессоры например microcore имеют её в своём арсенале.)
[quote="ХитрыйЛис"]В итоге код получается компактным, но таблица должна храниться где-то отдельно и имеет ограничение?[/quote] Наверное, при желании, можно хранить и в связном списке (но под сомнением эффективность данного решения) а ограничение на количество кодов операций тоже не такое "жёсткое". Например в Форт программном обеспечении [url=http://fforum.winglion.ru/viewtopic.php?p=36678#p36678]->Сat Canon[/url] коипьютере Джефа Раскина использовалась своя "структура" расширения байт-кода команд.
[quote="ХитрыйЛис"]Тут только 1 словарь и я пока не представляю как несколько словарей взаимодействуют друг с другом...[/quote] Они управляются кодом. (контекст последовательности просмотра словарей при поиске необходимого слова, и контекст в какой текущий CURRENT словарь добавлять найденное слово). В 83г и 94г стандартах есть отличия в моделях управления контекстом работы со словарями. Словари, в части своих свойств представляют некоторый функционал подобный объектной модели и позоляют, например, добавить фунциональную модель модулей.
P.S. В 65LE02 определены прерывания по аппраратным сигналам линий? (в описании есть команда BRK - это софтовое прерывание?)
|
|
|
|
Добавлено: Вс дек 16, 2012 20:04 |
|
|
|
|