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

User Tag List

Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 27

Тема: Basic 128 & usr 15619

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

    По умолчанию Basic 128 & usr 15619

    Всем привет!
    Столкнулся с интересной проблемой, может, на форуме пролетало, но не нашел. Может, кому пригодится.
    Итак, дисковал я ленточную прогу, заточенную под 128К. Прока грузила бэйсиком с ленты блоки кодов и закидывала их на RAM-диск 128-го. Чтобы не испытывать проблем с синтаксисом операторов загрузки/записи на RAM-диск, решил переделать бэйсик-загрузчик в редакторе 128К. Заменил всякие LOAD "" CODE на RANDOMIZE USR 15619: REM: LOAD "NAME" CODE, разбил строки с операторами зарузки, сохранил, запустил, и... "C, Nonsense in BASIC"! Бэйсик после первой строки загрузки был испорчен.
    Причина тут в том, что редактор BASIC 128 не токеризирует набранные по буквам ключевые слова после REM. А вот TR-DOS при исполнении токенизирует, но не меняет длину строки.
    В общем, чтобы работал USR 15619, надо либо править строку в 2 приема (REM добавлять после ввода LOAD "NAME" CODE), либо делать это в BASIC 48.
    Вопрос к гуру: если об этои где-то писалось, не подскажете, где можно почитать еще?

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

  3. #2
    Master
    Регистрация
    30.08.2009
    Адрес
    г. Луганск
    Сообщений
    841
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    REM это коменты. так что 128 их не так использует - это нормально. найди 1 отличие между 128 и 48 бейсиком)))

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

    По умолчанию

    Да понятно, что это комменты. Мне интересно почему TR-DOS токенизирует набранные по буквам комманды, но не меняет длину строки.

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

    По умолчанию

    Между прочим, набирать строку работы с tr-dos именно токенами, рекомендовали в книжке ".. для пользователей и программистов" - Ларченко-Родионова (правда, там это рекомендовали с иной целью).
    Когда есть, но не знаешь где - это все равно, что нету.

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

    По умолчанию

    Быть может, есть резон поправить эту проблему в модифицированных прошивках TR-DOS? Правда, вариант токенизации с удалением набора символов и правкой длины строки может привести к другим проблемам. Так что, если уж править, было бы здорово заменять первую букву набранного токена на его код, а остальные - на пробел. Ну или вообще избавиться от токенизации.

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

    По умолчанию

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    было бы здорово заменять первую букву набранного токена на его код, а остальные - на пробел
    Вообще-то, примерно так и происходит. Набрав в 128 бейсике программу, выполните все инструкции tr-dos и сохраните ее. Загрузитесь из 48 режима, посмотрите листинг - какие проблемы?!
    Использование токенов, удобно тем, что не нужно "знать" как пишется та или иная команда (также не тратится лишнее время на набор и место в памяти). Логичнее не пользоваться таким "атавизмом", как 128 бейсик.
    А изменение содержимого любого из ПЗУ может вызвать "несовместимость" ряда программ. Поэтому, мне не совсем понятна причина недовольства текущим положением вещей.
    Когда есть, но не знаешь где - это все равно, что нету.

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

    По умолчанию

    Вообще-то, примерно так и происходит. Набрав в 128 бейсике программу, выполните все инструкции tr-dos и сохраните ее. Загрузитесь из 48 режима, посмотрите листинг - какие проблемы?!
    Хоть в 128-м, хоть в 48-м одно и то же: токенизация операторов звгрузки после REM без исправления длин строк. Для инструкции LOAD "NAME" CODE 4-х буквенные слова LOAD и CODE, заменяются на односимвольные токены, строка укорачивается на 6 символов, но байты длины строки после ее номера не корректируется. Если посмотреть листинг, будет все, что угодно.

    Использование токенов, удобно тем, что не нужно "знать" как пишется та или иная команда (также не тратится лишнее время на набор и место в памяти). Логичнее не пользоваться таким "атавизмом", как 128 бейсик.
    Читаем сообщения внимательно - я дисковал программу, рассчитанную на 128-й бэйсик. В частности, использующую команды LOAD ! и SAVE !. Ясно, что в "прогрессивном" BASIC 48 строки с такими командами не введутся.

    А изменение содержимого любого из ПЗУ может вызвать "несовместимость" ряда программ.
    Я предлагал изменения не в канонические прошивки типа 5.03/5.04Т - их я и сам могу модифицировать и словить несовместимость. Изменения можно внести в уже модифицированные прошивки с поддержкой RAM-диска, фиксами известных багов и т.п., явно на 100% не совместимые с оригиналами.

  9. #8
    Master
    Регистрация
    30.08.2009
    Адрес
    г. Луганск
    Сообщений
    841
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    я дисковал программу, рассчитанную на 128-й бэйсик. В частности, использующую команды LOAD ! и SAVE !
    а можно подробней об этом. листинг например

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

    По умолчанию

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    байты длины строки после ее номера не корректируется
    Так что мешает набрать строки tr-dos в 48 бейсике токенами?

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    в "прогрессивном" BASIC 48 строки с такими командами не введутся.
    Опять же, что мешает набрать эти команды уже в 128 бейсике?
    Когда есть, но не знаешь где - это все равно, что нету.

  11. #10
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,754
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    141
    Спасибо Благодарностей получено 
    1,172
    Поблагодарили
    769 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    вспомнился ещё один баг который не позволяет сделать программу короче - это выполнение команды RUN (загрузка кодового блока и его старт с адреса загрузки). точнее один раз RUN можно выполнить, но корректного возврата в бейсик не получится.

Страница 1 из 3 123 ПоследняяПоследняя

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

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

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

Похожие темы

  1. BASIC ДВК
    от AlecV в разделе ДВК, УКНЦ
    Ответов: 135
    Последнее: 07.02.2022, 23:02
  2. 128 basic
    от sevol в разделе Для начинающих
    Ответов: 31
    Последнее: 21.04.2020, 13:25
  3. Tiny Basic
    от Kakos_nonos в разделе Зарубежные компьютеры
    Ответов: 0
    Последнее: 25.04.2011, 16:51
  4. Дизассемблер BASIC-48
    от Prusak в разделе Пресса
    Ответов: 4
    Последнее: 22.06.2010, 22:52
  5. Программы на BASIC
    от form в разделе ДВК, УКНЦ
    Ответов: 14
    Последнее: 17.04.2010, 15:41

Ваши права

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