User Tag List

Страница 25 из 26 ПерваяПервая ... 212223242526 ПоследняяПоследняя
Показано с 241 по 250 из 251

Тема: Эмулятор БК-0010-01, БК-0011 и БК-0011М

  1. #241

    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    611
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    175
    Поблагодарили
    135 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    Но IF-ERROR же можно сделать, это проще?
    Мне не очевидно, сейчас я могу с лёгкостью реализовать оператор .ERROR, правда без форматированного вывода с текста с аргументами, это с наскока не придумывается. А вот .IF <условие> мне видится именно как элемент полноценного препроцессора, и никак я от этого отделаться не могу, моск замылился.
    И ещё с форматом условия непонятно пока, то ли повторять его из MACRO-11, то ли просто брать полноценное арифметическое выражение и рассматривать его результат как в Си: 0 = false, !0 = true.
    Ну, в файл _errors.txt помещаются только синтаксические ошибки, которые при генерации листинга в тот же листинг помещаются, никакие другие, туда не выводятся.
    Т.е. так было задумано, потому что с экрана они могут уйти, а в листинге искать дольше. Если чего-то туда не выводится, но должно бы, то это надо изучать.
    И это, мне, как БКшнику уже по размеру файла прямо очевидно, что он на экран налезает. Размер файла тоже на экран выводится. Поэтому, о том, что это может стать проблемой, я даже не задумывался.
    В общем, вот прям так просто и быстро я это сделать не могу.

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

  3. #242

    Регистрация
    06.09.2025
    Адрес
    г. Киев, Украина
    Сообщений
    254
    Спасибо Благодарностей отдано 
    432
    Спасибо Благодарностей получено 
    30
    Поблагодарили
    26 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пытался загрузить исходник в виде bin (созданного при помощи bas2asc) и в виде текста. Не получилось...

    Нажмите на изображение для увеличения. 

Название:	error-57.jpg 
Просмотров:	28 
Размер:	24.1 Кб 
ID:	83317
    ÷)

  4. #243

    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    611
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    175
    Поблагодарили
    135 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от yevrowl Посмотреть сообщение
    Не получилось...
    Правильно, что не получилось. Вы, как я представляю, не понимаете сути и принципа работы БКшного бейсика.
    Исходные файлы бейсика - это россыпь *.ASC файлов, блоками по 256 кб. И ничто иное, никакие *.BAS файлы бейсик не принимает.
    Тот бин файл, который вы ему пытаетесь подсунуть - это тот же самый bas файл, просто с заголовком bin - абсолютно бесполезная херня.
    БКшные бейсковские BIN файлы - это просто дамп памяти с определённого адреса, определённой длины. Для удобства работы с BIN файлами, они тоже должны быть в формате bin. А формат bin - это даже не формат, это просто заголовок из 4-х байт перед файлом не в формате bin.
    Чтобы загрузить исходник *.bas в бейсик БК, его сперва надо сконвертировать в *.asc файлы. Для этого в составе эмулятора есть малополезная утилита ITCPC.
    Делается это так: ITCPC -ia -ob bt.bas
    Первый ключ -i определяет входящую кодировку файла, это очень влияет на русские буквы и псевдографику. Например ваш файл сейчас в неправильной кодировке.
    Она сейчас изначально БКшная, псевдографику которого невозможно редактировать на ПК, поэтому для него входящую кодировку надо задавать так: -ie.
    В результате сгенерируется 24 asc файла в формате bin, которые нужно поместить в директорию BIN эмулятора. Затем запустить эмулятор, запустить конфигурацию с бейсиком и там загрузить исходник командой LOAD"BT.
    Всё получается, загружается и даже работает, вы просто изначально не с той стороны взялись решать проблему.

    Этот пользователь поблагодарил gid за это полезное сообщение:

    yevrowl(12.12.2025)

  5. #244

    Регистрация
    06.09.2025
    Адрес
    г. Киев, Украина
    Сообщений
    254
    Спасибо Благодарностей отдано 
    432
    Спасибо Благодарностей получено 
    30
    Поблагодарили
    26 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    gid, спасибо за подробную инструкцию — теперь получилось!

    Вот исходник, определяющий БК-0010.01 или БК-0011М — bt-src.7z

    Только по-разному ведёт в вашем эмуляторе и Emu 1.01:

    Нажмите на изображение для увеличения. 

Название:	bt1.png 
Просмотров:	33 
Размер:	821 байт 
ID:	83321 Нажмите на изображение для увеличения. 

Название:	bt2.png 
Просмотров:	33 
Размер:	330 байт 
ID:	83322 Нажмите на изображение для увеличения. 

Название:	bt3.png 
Просмотров:	29 
Размер:	326 байт 
ID:	83323
    Последний раз редактировалось yevrowl; 20.12.2025 в 16:58.
    ÷)

  6. #245

    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    483
    Спасибо Благодарностей отдано 
    139
    Спасибо Благодарностей получено 
    391
    Поблагодарили
    146 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не знаю было тут или нет:
    На БК0011М (реальной) команда mov (SP)+, PC выполняется за 40 тактов.
    В эмуляторе пока что за 32 такта некошерно как-то. Надо бы для модели 11М тактов добавить (возможно и для 11-й, но это не точно, ни у кого не оказалось 11-й чистой без М чтобы проверить)

    Это к чему - люди юзали такую команду вместо return обычного. И начались выяснения что быстрее мол mov или return. В итоге оказалось что на 0010 модели они одинаковы. На 0011М - отличаются. mov медленней на 8 тактов.
    Шедевр портирования на УКНЦ - игра Highway Encounter
    Эмуляторы: UKNCBTL, EmuStudio (респект авторам)

    Этот пользователь поблагодарил BlaireCas за это полезное сообщение:

    yevrowl(20.12.2025)

  7. #246

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,508
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Будет ещё отличие в том, что MOV выставит флаги N и Z, а RTS флаги не трогает

    Этот пользователь поблагодарил Hunta за это полезное сообщение:

    yevrowl(20.12.2025)

  8. #247

    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    611
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    175
    Поблагодарили
    135 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    В эмуляторе пока что за 32 такта некошерно как-то. Надо бы для модели 11М тактов добавить
    Не могу. У меня примерные тайминги рассчитываются по формулам Зальцмана. И частично по значениям, которые я сам намерял. Я уже много раз говорил, что так и не смог вывести чёткую зависимость между адресациями и таймингами на БК11М. У меня даже по тестам значения получались каждый раз разные, но из небольшого фиксированного набора. Поэтому они очень примерные и к реальности не имеют никакого отношения. Вот когда дадите мне точные однозначные значения для каждой существующей команды из набора опкодов 0..65535, тогда и будут вам точные тайминги.
    Цитата Сообщение от BlaireCas Посмотреть сообщение
    На 0011М - отличаются. mov медленней на 8 тактов.
    Наверняка опять предвыборка виновата.

    Цитата Сообщение от Hunta Посмотреть сообщение
    Будет ещё отличие в том, что MOV выставит флаги N и Z, а RTS флаги не трогает
    Для БКшников это не имеет значения. Потому что для анализа результата обычно используется бит С и изредка бит V, а NZ почти никто не использует. (Я использую, когда бывает надо.)

  9. #248

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,508
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    обычно
    Ключевое слово.

  10. #249

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,249
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    Не могу. У меня примерные тайминги рассчитываются по формулам Зальцмана. И частично по значениям, которые я сам намерял. Я уже много раз говорил, что так и не смог вывести чёткую зависимость между адресациями и таймингами на БК11М. У меня даже по тестам значения получались каждый раз разные, но из небольшого фиксированного набора. Поэтому они очень примерные и к реальности не имеют никакого отношения. Вот когда дадите мне точные однозначные значения для каждой существующей команды из набора опкодов 0..65535, тогда и будут вам точные тайминги.
    Измеряли тут в телеграм-чате по БК недавно тайминги на БК-0010-01 и БК-0011М. Даже на паре БК-0010-01 получились разные значения. С БК-0011М всё сложно. Там разница частот процессора и ВП1-037 не кратна степени двойки, поэтому там получаются при измерении дробные значения. Если надо, то можно предоставить то, что намеряли, ну и могу дать программы. Программы измеряют все возможные адресации для команд и отдельно для счётчика команд.
    Цитата Сообщение от gid Посмотреть сообщение
    Наверняка опять предвыборка виновата.
    Она самая.

  11. #250

    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    611
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    175
    Поблагодарили
    135 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Если надо, то
    Не то, чтобы не надо, но...
    Меня эмулятор как таковой, почти полностью устраивает. Не достаёт функционала DESS, который многие у меня просят, а у меня никак пользовательский интерфейс не получается сделать. Я эмулятор использую как отладчик-дизассемблер, чтоб расковырять что-то сложное и заковыристое, чтоб понять, как оно работает. Там точнейших таймингов не надо. Но я не только для себя, но и для всех делаю, а им скорее всего надо.
    так что давайте, можно без программ, просто таблицы с данными.
    А лучше бы конечно вывести формулы, по которым бы можно было рассчитывать тайминги для команд.
    А то мне вот сейчас например приходится делать такую коррекцию для быстрой памяти - от базового значения вычитать некоторую корректирующую константу, умноженную на количество вводов-выводов на быстрой памяти.

Страница 25 из 26 ПерваяПервая ... 212223242526 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Отличия БК-0011М от БК-0010(01)?
    от nzeemin в разделе БК-0010/0011
    Ответов: 22
    Последнее: 30.03.2021, 18:47
  2. БК-0010/0011: Разное
    от CD-Inc в разделе БК-0010/0011
    Ответов: 73
    Последнее: 30.07.2012, 16:58
  3. Начало выпуска БК-0011 и БК-0011М
    от dk_spb в разделе БК-0010/0011
    Ответов: 6
    Последнее: 14.10.2010, 14:22
  4. Отличие 0011 и 0011М
    от Kronshou в разделе БК-0010/0011
    Ответов: 11
    Последнее: 17.01.2010, 22:24
  5. Москва - куплю все связанное с БК-0010/0011
    от kt315b в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 04.10.2008, 05:09

Ваши права

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