С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Вообще не отображать, кроме строк куда идет переход. Но, боюсь, это уже не влезет в ПЗУ..
- - - Добавлено - - -
В режиме редактирования в кавычках высвечивать реальные цвета, а в режиме просмотра в кавычках писать код цвета. Имхо, это будет универсальным решением, иначе будет непонятно откуда взялись эти цвета на экране (при работе программы), а это удобный способ расцветить вывод. (мы исходим из того, что это ПЗУ стоит постоянно -- если же его переключать с обычным, то вопрос снят сам собой).
1. Дизасмить код Laser Basic, смотреть как сделано там. Я баловался таким году в 1999.
2. Попробовать найти тред про это же самое здесь. Я натыкался случайно и совсем даже не помню по каким ключевым словам искать.
Идея проста. В ОЗУ перекидывается MAIN_LOOP и код нескольких операторов, которые возвращаются не по ret, а прямым переходом в MAIN_LOOP. Патчатся адреса, и вуаля - интерпретатор в ОЗУ. Дальше в нем можно менять что угодно. ПЗУ остается фирмовым. Но отжирается место в ОЗУ. ИМХО, в пределах 3-5 килобайт.
ZX Evolution Rev C + ZXM-SoundCard Extreme + NeoGS.
eugeniusz, если сделать вариант Вашей программы для загрузки в ОЗУ?
Да, это займет место в ОЗУ, но зато можно будет сделать отступы для блоков FOR-NEXT и IF-THEN.
Добавить команды редактирования.
Пользователи реалов смогут легко воспользоваться сервисом редактирования, предоставляемым Вашей программой.
Типа как в ZXED Spectrum Toolkit:
Скрытый текст
Код:A ALTER - searches for and then replaces a string of characters. You specify both the original and the new string, and the range of line numbers where the changes are to be made. See also VERIFY below. B BYTES - tells you how much free memory space is available for your program/variables. C COPY - duplicates lines of your program. You specify the range of lines to be copied and where they are to be placed. D DELETE - deletes a block of lines from your program. You specify the range of lines to be deleted. F FIND - finds a string of characters. All lines containing the specified string are listed to the screen. H HELP - gives a menu of the options available along with a brief description of the Function. L LINE - returns the address of a specified line. This address is the first character of the line. M MOVE - as for COPY, except that the original lines are DELETED thus effectively moving lines from one part of your program to another. P APPEND - appends a specified string to lines. R RENUMBER - renumbers the line numbers of your program, including GOTO and GOSUB references. Will also amend the references for LIST, LLIST, RESTORE, RUN and SAVE ... LINE. You specify the start and end line numbers, the new base line number and the increment step. S SEQUENCE - gives AUTO LINE NUMBERS, which is very useful for entering long programs. You specify the starting line number and the increment. V VERIFY - when ON, will list all lines containing the string replaced by ALTER. When OFF, no listing is produced, just the total number of changes made in confirmation of successful amendments or otherwise.[свернуть]
Переделать, наверно, можно ПЗУ-128. Такие переделки уже были - Basic-128 заменялся на коммандер.
Скрытый текст
Можно было бы оставить дизайн меню, пункты указать:
128 TR-DOS
48 TR-DOS
48 BASIC
48 BASIC+
Остальное место использовать как электронный диск.
При выборе 48 BASIC+ в ОЗУ копируется программа, расширенного редактора и подключается ПЗУ BASIC 48.
При простом выборе пунктов TR-DOS, происходит переход в ДОС, при, например, нажатой клавише SYMBOL SHIFT из ПЗУ в ОЗУ загружается и запускается какой-нибудь бут (типа односекторного) или лучше с возможностью выбора диска.
[свернуть]
а зачем двоеточия с двух сторон от THEN в операторе IF?
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)