User Tag List

Показано с 1 по 10 из 75

Тема: Почему BBC Basic так тормозит?

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #19

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А вот новости. Автор разоблачил правки от BlaireCas - оказывается в документации ясно прописано, что есть команда *ESC OFF, которая вопрос решает.
    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Покопался на сайте автора и обнаружил интересную вещь.
    Исходники бейсика для PDP - на ассемблере. Компилятор там свой собственный используется. Как-то поначалу не придал этому значения. Ну мало-ли мол пишут люди компилятор для асм-а, я и сам когда-то писал. Возможно все кто связывался с ассемблером хотели свой компилятор "с ништяками" и некоторые даже писали или улучшали имеющийся.
    Но .. тут вообщем этот компилятор, которым собираем бейсик, написан на .. этом-же бейсике! Прям на нем. В .exe-шник для винды как я понимаю встроен транслятор бейсика который выполняет программу бейсиковую которая собирает компилятор ассемблера которым компилируем бейсик которым собира.... так, стоп.
    Вообщем вот это поворот
    BBC Basic для истории мировых ИТ - это крутейшая вещь. Именно на нем был разработан самый массовый процессор современности ARM. Поэтому энтузиасты продолжают его использовать и на современных компиках. Современный BBC Basic естественно заметно расширен. Разных вариантов этого бейсика наделали столько, что уже вроде никто и не знает точных статусов этих вариантов.

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Одно из сообщений данной темы. Очень несложно делается например проверять "на каждую 256-ю строку". Пробовал - работает и ESC и тормоза можно сказать не добавляются на реальной УКНЦ.
    Почему не стал делать - а нужно что-ли? Бейсик ведь недоделан. Там нет скажем SIN(x) или записи плавучки с отрицательной экспонентой типа 2E-5. Вообщем бейсик-то недопортирован изначально.
    Его недоделанное состояние для PDP-11 объясняется тем, что поддержка этой платформы изначально вообще отсутствовола. Изначально были только TUBE-карты с акселлерированным 6502, с Z80, c 32016, 80186, и ARM. Были ещё какие-то малотиражки от третьих фирм с 6809 и возможно (не уверен) с 68000 - ни одной такой карты вроде до сегодняшнего дня не дошло. Карту с поддержкой базовой архитектуры PDP-11 (скорее даже без EIS) сделали уже только после 2010 на базе FPGA. Насколько мне известно, таких карт было сделано менее 50 и понятно что народ использовал скорее другие процы. Только в 2020 в проект карт на базе Raspberry Pi с софтверной эмуляцией процессоров добавили PDP-11. Понятно, что число юзеров скорее в районе 1-2 человек. Тем не менее удивительно, что PDP-11 поддерживается лучше, чем 68000. Что-то не срoслось у Acorn и Motorola.

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Ну и если уж на то пошло - надо бы и проверку на УКНЦ переделать и вообще обработку IO.
    Ибо на некоторых версиях RT-11 (на версиях с набором самопала как Хунта говорит) - этот бейсик вообще виснет при получении каких-то кодов (скажем при нажатии backspace у меня).
    Сейчас там проверка на УКНЦ сделана так:
    cmp @#&CA20,#&8080 (более привычное восьмиричн. cmp @#145040, #100200)
    Что это вообще? Что, так можно проверять что это УКНЦ? Имхо ерунда какая-то. Никто не знает как нормальным образом проверить что перед нами действительно УКНЦ?
    Спросил об этом CMP автора - странный там адрес. У меня тоже этот бейсик иногда виснет. Самое неприятное, что не смог запустить знаменитый ClockSp - а автор его как-то запустил https://www.youtube.com/watch?v=6wKWdPNwVWw - результат там интересный ВМ2@8MHz = 6502@0.6MHz. А некоторые товарищи, включая Хунту, недовольны данными по π-затвору Стыдно должно быть таким товарищам. IBM раздавила DEC в 1975, а виноват автор простой программки.
    EDIT. Поправил ссылку на видео.
    Цитата Сообщение от Alex_K Посмотреть сообщение
    Виснет на УКНЦ потому, что использует команды терминала VT-100. На УКНЦ обрабатываются только коды <Esc>[r, <Esc>[2h и <Esc>[2l. Причем обработка сделана так, что если после <Esc>[ не пришел символ 2, то далее тупо ожидается r. Потому нажимаем маленькую букву r, экран очистится и далее всё отвиснет.
    Странно сделан перевод на новую строку, обычно это <CR><LF>, а тут наоборот <LF><CR>, но это работает. При нажатии Backspace подаются коды <Esc>[D<Space><Esc>[D. А чтобы не зависеть от типа терминала надо подавать <010><Space><010>.
    Не все так просто. Иногда r не помогает. Пробовал патчить ClockSp, но ничего не получилось - виснет в самых неожиданных ситуациях.

    - - - Добавлено - - -

    Цитата Сообщение от Hunta Посмотреть сообщение
    Судя по адресу - он лезет куда то в RMON. Но учитывая, что RMON может быть разных размеров, да и памяти, строго говоря, может быть и не 56 кб, а меньше.. Вот так и получаются "легендарные" программы и системы
    А Хунта ещё тут - помимо того ваша система ломает работу с таймером, она ещё и даёт юзеру существенно меньше памяти, чем штатная. Штатная позволяет высчитать 7268 знаков числа π, а ваша только 6812. Зря трудились.
    Последний раз редактировалось litwr; 06.09.2021 в 22:30.

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

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

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

Похожие темы

  1. Ответов: 15
    Последнее: 09.09.2021, 14:27
  2. BBC Basic for PDP-11
    от zx_ в разделе БК-0010/0011
    Ответов: 3
    Последнее: 02.09.2020, 19:51

Ваши права

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