User Tag List

Page 1 of 3 123 LastLast
Results 1 to 10 of 27

Thread: Basic 128 & usr 15619

  1. #1

    Join Date
    7th February 2008
    Location
    г. Рязань
    Posts
    2,928
    Thanks Thanks Given 
    37
    Thanks Thanks Received 
    124
    Thanked in
    44 Posts
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    Default 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

    Join Date
    6th June 2016
    Location
    г. Москва
    Posts
    48
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Join Date
    30th August 2009
    Location
    г. Луганск
    Posts
    841
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Default

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

  4. #3

    Join Date
    7th February 2008
    Location
    г. Рязань
    Posts
    2,928
    Thanks Thanks Given 
    37
    Thanks Thanks Received 
    124
    Thanked in
    44 Posts
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    Default

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

  5. #4

    Join Date
    26th September 2009
    Location
    г. Красноярск
    Posts
    3,198
    Thanks Thanks Given 
    40
    Thanks Thanks Received 
    128
    Thanked in
    103 Posts
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Default

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

  6. #5

    Join Date
    7th February 2008
    Location
    г. Рязань
    Posts
    2,928
    Thanks Thanks Given 
    37
    Thanks Thanks Received 
    124
    Thanked in
    44 Posts
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    Default

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

  7. #6

    Join Date
    26th September 2009
    Location
    г. Красноярск
    Posts
    3,198
    Thanks Thanks Given 
    40
    Thanks Thanks Received 
    128
    Thanked in
    103 Posts
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Default

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

  8. #7

    Join Date
    7th February 2008
    Location
    г. Рязань
    Posts
    2,928
    Thanks Thanks Given 
    37
    Thanks Thanks Received 
    124
    Thanked in
    44 Posts
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    Default

    Вообще-то, примерно так и происходит. Набрав в 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

    Join Date
    30th August 2009
    Location
    г. Луганск
    Posts
    841
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Default

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

  10. #9

    Join Date
    26th September 2009
    Location
    г. Красноярск
    Posts
    3,198
    Thanks Thanks Given 
    40
    Thanks Thanks Received 
    128
    Thanked in
    103 Posts
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Default

    Quote Originally Posted by Alex Rider View Post
    байты длины строки после ее номера не корректируется
    Так что мешает набрать строки tr-dos в 48 бейсике токенами?

    Quote Originally Posted by Alex Rider View Post
    в "прогрессивном" BASIC 48 строки с такими командами не введутся.
    Опять же, что мешает набрать эти команды уже в 128 бейсике?
    Когда есть, но не знаешь где - это все равно, что нету.

  11. #10

    Join Date
    27th February 2005
    Location
    москва
    Posts
    14,296
    Blog Entries
    1
    Thanks Thanks Given 
    203
    Thanks Thanks Received 
    1,461
    Thanked in
    950 Posts
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    Default

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

Page 1 of 3 123 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. BASIC ДВК
    By AlecV in forum ДВК, УКНЦ
    Replies: 148
    Last Post: 10th December 2025, 12:31
  2. 128 basic
    By sevol in forum Для начинающих
    Replies: 149
    Last Post: 8th February 2025, 05:10
  3. Tiny Basic
    By Kakos_nonos in forum Зарубежные компьютеры
    Replies: 0
    Last Post: 25th April 2011, 16:51
  4. Дизассемблер BASIC-48
    By Prusak in forum Пресса
    Replies: 4
    Last Post: 22nd June 2010, 22:52
  5. Программы на BASIC
    By form in forum ДВК, УКНЦ
    Replies: 14
    Last Post: 17th April 2010, 15:41

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •