Важная информация

User Tag List

Показано с 1 по 5 из 5

Тема: Добавление нового пункта в меню прошивки "BASIC-128"

  1. #1
    Master Аватар для Prusak
    Регистрация
    28.02.2005
    Адрес
    г.Минск
    Сообщений
    614
    Благодарностей: 370
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Добавление нового пункта в меню прошивки "BASIC-128"

    Подскажите, кто знает, как можно ввести новый пункт в меню в прошивке BASIC-128 наподобие "HDD boot"? Т.е. как организовать этот новый пункт - расширить меню и т.п.?
    Заяц-прусак
    zxbyte.ru- компьютер Байт и прочий хлам

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Veteran Аватар для Максагор
    Регистрация
    16.01.2005
    Адрес
    Москва
    Сообщений
    1,448
    Благодарностей: 702
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Prusak Посмотреть сообщение
    Подскажите, кто знает, как можно ввести новый пункт в меню в прошивке BASIC-128 наподобие "HDD boot"? Т.е. как организовать этот новый пункт - расширить меню и т.п.?
    Когда-то давно я в HEX-вьювере смотрел ПЗУ басица-128. Там на все открывающиеся менюшки есть таблички, в которых содержится информация - сколько опций в меню, ссылки (кажется) на надписи для опций (надписи формируются по принципу ASCIIZ - последний символ увеличен на +#80) и адрес подпрограмм, куда надо переходить при выборе опции. Все это, естественно, легко меняется на свое. Единственное, если надо не меняя существующие опции добавить сверх них дополнительную, то это надо "раздвигать" байты для впечатывания новый данных в расширяемую таблицу, что весьма и весьма проблематично. А вот замена одной опции на функционально другую путем подстановки своей ссылки на подпрограмму пользователя и вбития новой надписи в опцию, или сокращение числа опций в меню просто путем уменьшения значения в байте, отвечающем за число опций, проблем не составляет.

    ЗЫ: сейчас я уже не помню, где конкретно располагаются таблички. И тетрадные листочки, где я все это пару лет назад записывал, не найду, тем более, что я сейчас с работы пишу. Но нашел я все это сам без специальных знаний и инструкций, исключительно HEX-эдитором... Так что, думаю, тебе тоже сложно не будет....
    Последний раз редактировалось Максагор; 09.03.2011 в 12:52.
    Максагор, NedoPC group
    ПК ATM-turbo 2+ 1024Kb RAM, 1,7Gb HDD, CD-ROM, Turbo FM, GS-512
    [ZX rulezzz 4reva!!!]
    http://atmturbo.nedopc.com
    http://vk.com/atmturbo
    http://maksagor.livejournal.com
    http://moskprf.ru
    [СССР][Коммунизм][КПРФ] ну [ZX], естественно...

  4. Этот пользователь поблагодарил Максагор за это полезное сообщение:
    Prusak (09.03.2011)

  5. #3
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,031
    Благодарностей: 1426
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Максагор Посмотреть сообщение
    надписи формируются по принципу ASCIIZ - последний символ увеличен на +#80
    Прошу прощения за занудность, но это не принцип ASCIIZ.

  6. #4
    Veteran Аватар для Максагор
    Регистрация
    16.01.2005
    Адрес
    Москва
    Сообщений
    1,448
    Благодарностей: 702
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Прошу прощения за занудность, но это не принцип ASCIIZ.
    Ну и хрен с ним.

    На самом деле я точно и не помню +#80 там, или символ инвертированный, или, как в "классическом ASCIIZ - нолик в конце... Просто где-то так примерно....
    Максагор, NedoPC group
    ПК ATM-turbo 2+ 1024Kb RAM, 1,7Gb HDD, CD-ROM, Turbo FM, GS-512
    [ZX rulezzz 4reva!!!]
    http://atmturbo.nedopc.com
    http://vk.com/atmturbo
    http://maksagor.livejournal.com
    http://moskprf.ru
    [СССР][Коммунизм][КПРФ] ну [ZX], естественно...

  7. #5
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,481
    Благодарностей: 776
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Код:
    ;----------------------------------------------------
    L2744:	DB	5		;ЧИСЛО АДРЕСОВ ВЫЗОВА
    	DB	00H
    	DW	L2831		;Tape Loader
    	DB	01H
    	DW	L286C		;128 BASIC
    	DB	02H
    	DW	L2885		;Calculator
    	DB	03H
    	DW	L1B47		;48 BASIC
    	DB	04H
    	DW	L2816		;Tape Tester
    ;------------------------------------------------
    L2754:	DB	6		;ДЛИНА ТАБЛИЦЫ
    	DB	'128     ',0FFH
    L275E:	DB	'Tape Loade','r'+80H
    L2769:	DB	'128 BASI','C'+80H
    L2772:	DB	'Calculato','r'+80H
    	DB	'48 BASI','C'+80H
    L2784:	DB	'Tape Teste','r'+80H
    	DB	' '+80H
    ;------------------------------------------------

  8. Эти 4 пользователя(ей) поблагодарили caro за это полезное сообщение:
    Djoni (14.10.2011), GriV (10.03.2011), Mad Killer/PG (13.03.2011), Prusak (09.03.2011)

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Компьютер "ZXM-Phoenix" - Прошивки ПЗУ
    от Keeper в разделе Phoenix
    Ответов: 64
    Последнее: 25.10.2017, 11:02
  2. Ответов: 0
    Последнее: 15.08.2010, 12:38
  3. Ответов: 6
    Последнее: 20.11.2007, 11:29
  4. "длина программной части" BASIC
    от boo_boo в разделе Программирование
    Ответов: 10
    Последнее: 12.10.2007, 14:39
  5. "длина программной части" BASIC
    от boo_boo в разделе Разное
    Ответов: 5
    Последнее: 05.10.2007, 19:36

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •