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

User Tag List

Страница 6 из 43 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя
Показано с 51 по 60 из 426

Тема: Бейсик-помощь

  1. #51
    Guru Аватар для ZEman
    Регистрация
    28.10.2005
    Адрес
    Омск
    Сообщений
    2,052
    Спасибо Благодарностей отдано 
    113
    Спасибо Благодарностей получено 
    34
    Поблагодарили
    23 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    это был ответ как удалить саму утилиту которая сидит в нулевой строке.

  2. #52
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,100
    Спасибо Благодарностей отдано 
    22
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Reobne Посмотреть сообщение
    как предполагается стирать эту нулевую строку? (после использования)
    Попробовал стереть её, ей же самой - зависло.
    Ручками, как написано ниже (переименовать и удалить). При удалении самой себя - вполне возможно получение "недокументированных эффектов".
    Программа, специально лежит в нулевой строке, чтобы можно было рассчитать ее адрес и не затирать листинг программы (т.к. обычно это, невозможно создать "честными" средствами бейсика).
    У меня как правило в нулевой строке "лежат" комментарии, знакогенератор или код. Все что нужно, это после использовании программой подгрузить его также с помощью MERGE.
    Когда есть, но не знаешь где - это все равно, что нету.

  3. #53
    Veteran
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,042
    Спасибо Благодарностей отдано 
    934
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    122 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    Lightbulb

    null_device, Вот у тебя написано "CALL 6629: RET", то есть после стирки проц. должен прочитать RET. А что если заменить это на "JP 6629"? Это и короче, и после стирки программа уже не нужна. Бейсик, конечно, готу непонятно куда, в середину строки наугад. Но рискнуть можно, вероятность очень высокая, что бейсик ругнётся, и будет дальше работать.
    Попробовал, работает. Прикладываю архив, в нём новая версия в TRD и в TAP форматах.

    Перед сохранением сделал CLEAR, так что теперь, без переменных, прога весит 249 байт и вписывается в один сектор.
    Вложения Вложения

  4. #54
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,100
    Спасибо Благодарностей отдано 
    22
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Reobne Посмотреть сообщение
    А что если заменить это на "JP 6629"? Это и короче, и после стирки программа уже не нужна.
    Кодовая часть процедуры была мною взята, кажется из "zx-ревю". Используются куски кода из ПЗУ, которые также содержат перекрестные ссылки и переходы к подпрограммам и манипуляции со стеком. Попросту, не рискнул что-то менять.
    Экономия 1 байта? Тогда уж стоило "оптимизировать" и бейсик-часть (задать однобуквенные переменные и VAL для чисел).
    А, если нам надо удалить строки в нескольких местах программы?
    Когда есть, но не знаешь где - это все равно, что нету.

  5. #55
    Veteran
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,042
    Спасибо Благодарностей отдано 
    934
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    122 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    null_device, Извини, что я поленился объяснить подробнее.
    Например нам надо удалить строки с 500 по 600 и с 1000 по 1999
    Подгружаем MERGE"DELETE"
    Запускаем RUN
    Вводим 500
    Вводим 600
    Нулевая строчка остаётся.
    Теперь RUN/1000/1999
    Стёрли всё что хотели стереть.
    И наконец стираем 0-ю строку:
    RUN/0/0
    Бейсик удивится, обзовёт это нонсенсом, но можно будет работать дальше. (А в первом варианте всё зависало.)

  6. #56
    Super Moderator Аватар для Alex Rider
    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,908
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    89
    Поблагодарили
    31 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Reobne Посмотреть сообщение
    RUN/0/0
    Бейсик удивится, обзовёт это нонсенсом, но можно будет работать дальше. (А в первом варианте всё зависало.)
    И все же более корректный и надежный вариант: POKE 23756,n, где n - номер строки, которого в программе гарантированно нет,и удалить строку n штатными средствами. 23756 - это если в TR-DOS не входили. Если входили - 23868.
    ZX Evolution Rev C + ZXM-SoundCard Extreme + NeoGS.

  7. #57
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,100
    Спасибо Благодарностей отдано 
    22
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Reobne Посмотреть сообщение
    А в первом варианте всё зависало
    Ничего удивительного. Последний вызов подпрограммы, начинает стирать строку 0, поэтому, после возврата из ПЗУ, команды RET на своем месте, уже не будет. В результате, будет выполнено нечто с адреса 24115.
    В целом, использование JP, вместо CALL в данном случае, для возврата из подпрограммы - можно считать допустимым.
    Когда есть, но не знаешь где - это все равно, что нету.

  8. #58
    Master
    Регистрация
    17.05.2011
    Адрес
    Днепропетровск
    Сообщений
    520
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    На ЖК-экранах видимо работать не будет?
    Не будет, как и световой пистолет на Денди.
    ZXM-Phoenix v.03/2048/FDD/HD/YM-2149F/PS2-kbd; U8EP3C development board БК-0011М by Woland + SMK 512

  9. #59
    Sinclair User Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,045
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    144
    Спасибо Благодарностей получено 
    463
    Поблагодарили
    326 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от iceoflame Посмотреть сообщение
    Не будет, как и световой пистолет на Денди.
    Ну, положим, вовсе не "как и", потому что пистолет на Денди не отслеживает луч.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI

  10. #60
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,100
    Спасибо Благодарностей отдано 
    22
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    потому что пистолет на Денди не отслеживает луч.
    Разве, при нажатии курка экран на кадр (или несколько кадров) не гасится, а подсвечивается только квадрат спрайта в который нужно "попасть" фотоприемником пистолета?!
    Не световое перо, конечно - но принцип "как-то" привязан к частоте кадров (явно, учитывалась некая инерционность и послесвечение ЭЛТ экрана).
    Когда есть, но не знаешь где - это все равно, что нету.

Страница 6 из 43 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Руссифицированный бейсик
    от Den1982 в разделе Программирование
    Ответов: 17
    Последнее: 23.02.2022, 22:58
  2. Специалист: Бейсик
    от Prusak в разделе Специалист
    Ответов: 28
    Последнее: 26.07.2019, 16:07
  3. Про бейсик
    от yur в разделе Программирование
    Ответов: 23
    Последнее: 17.02.2014, 21:26
  4. напомните про бейсик
    от goblinish в разделе Программирование
    Ответов: 7
    Последнее: 22.06.2012, 06:14

Ваши права

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