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

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 15

Тема: Basic прерывания

  1. #1
    Veteran Аватар для Bedazzle
    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,486
    Спасибо Благодарностей отдано 
    219
    Спасибо Благодарностей получено 
    149
    Поблагодарили
    115 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Basic прерывания

    Что-то не могу сообразить, по каким словам гуглить, подскажите.
    1. Во время работы бейсика (как я понимаю), работают прерывания. Что и чем обрабатывается?
    Видимо (как минимум), идёт опрос клавиатуры и увеличивается переменная FRAMES. Что-то ещё?

    2. Какое минимальное значение можно задать в Clear, чтобы не порушилась работоспособность куска в машкоде, если работают стандартные прерывания? (скажем, на голом 48м)

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

  3. #2
    Guru Аватар для SAM style
    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    2,055
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    218
    Поблагодарили
    92 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Bedazzle Посмотреть сообщение
    Что-то не могу сообразить, по каким словам гуглить, подскажите.
    1. Во время работы бейсика (как я понимаю), работают прерывания. Что и чем обрабатывается?
    Видимо (как минимум), идёт опрос клавиатуры и увеличивается переменная FRAMES. Что-то ещё?
    Стандартная процедура обработки прерываний в режимах IM0/IM1 находится в ПЗУ по адресу 56. В основном только опрос клавиатуры (остальное зависит от реализации), кроме нескольких системных переменных ничего не меняется.
    2. Какое минимальное значение можно задать в Clear, чтобы не порушилась работоспособность куска в машкоде, если работают стандартные прерывания? (скажем, на голом 48м)
    Адрес начала кода минус 1. А что до самого минимального - зависит от длины бейсик-части и области переменных
    Все любят гипножабу

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

    По умолчанию

    Цитата Сообщение от Bedazzle Посмотреть сообщение
    Какое минимальное значение можно задать в Clear, чтобы не порушилась работоспособность куска в машкоде
    Как правило, код располагается в адресах "выше" значения переменной CLEAR. Есть, правда одна тонкость: некоторые процедуры "стандартного" ПЗУ приводят к увеличению стека, что может вызвать сообщение об ошибке (или порчу бейсик-программы, ее переменных и самого листинга).

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

  5. #4
    Veteran Аватар для Bedazzle
    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,486
    Спасибо Благодарностей отдано 
    219
    Спасибо Благодарностей получено 
    149
    Поблагодарили
    115 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SAM style Посмотреть сообщение
    А что до самого минимального - зависит от длины бейсик-части и области переменных
    ну, там минимальное
    clear val "xxxxx": load "" code: randomize usr val "yyyyy"

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

    Цитата Сообщение от null_device Посмотреть сообщение
    Режимы работы прерываний, неплохо описаны в книжке "... для пользователей и программистов".
    о, да, спасибо!

  6. #5
    Guru Аватар для SAM style
    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    2,055
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    218
    Поблагодарили
    92 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Bedazzle Посмотреть сообщение
    ну, там минимальное
    clear val "xxxxx": load "" code: randomize usr val "yyyyy"
    24000, думаю, хватит, (с натяжкой для TRDOS)
    Все любят гипножабу

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

    По умолчанию

    Цитата Сообщение от Bedazzle Посмотреть сообщение
    ну, там минимальное
    Зависит от длины загрузчика. Подбирай методом тыка. Но да, где-то в районе 24000 для самого примитивного загрузчика.
    ZX Evolution Rev C + ZXM-SoundCard Extreme + NeoGS.

  8. #7
    Veteran Аватар для Bedazzle
    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,486
    Спасибо Благодарностей отдано 
    219
    Спасибо Благодарностей получено 
    149
    Поблагодарили
    115 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Побаловался. На 48й машине загрузчик вида

    10 clear val "23952": load "" code: randomize usr val "23953"

    нормально загружается в Spectaculator / EmuZwin и код стартует.
    Последний раз редактировалось Bedazzle; 06.08.2016 в 00:22.

  9. #8
    Veteran
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,055
    Спасибо Благодарностей отдано 
    219
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    31 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кстати, по моим подсчетам, вместо val "23952" лучше использовать 0 (без кавычек) и соответственно правленое двоичное представление числа. В случае val имеем 8 байт на число, в случае правленого 0 - 7 байт.

  10. #9
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    С такими умными вопросами (и ответами) ТС. На твои вопросы есть полностью описанный ром-спектрум с 2000г. Тя ждет. Поищи. Я еще это чудо-биос на Ориону запускал.

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

    Как это давно было. И бордюр. И Круги мне на Орионе рисовал. Эх 20….)
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

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

    По умолчанию

    Цитата Сообщение от Bedazzle Посмотреть сообщение
    Побаловался. На 48й машине загрузчик вида

    10 clear val "23952": load "" code: randomize usr val "23953"

    нормально загружается в Spectaculator / EmuZwin и код стартует.
    Если это загрузчик или не большая программа, то кто мешает его залепить вообще в бейсик строку.

    типа
    10 rem ___________________________ и вместо ___ скомпилировать свой код туда.

    в хитрых загрузчиках делил строку вида

    0 RANDOMIZE USR 0: REM ________________________

    И меняли представление числа 0 на нужное :-)
    ZXM-Phoenix v.03/2048/FDD/HD/YM-2149F/PS2-kbd; U8EP3C development board БК-0011М by Woland + SMK 512

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

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

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

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

Похожие темы

  1. Кадровые прерывания ( 50гц ).
    от Elvys в разделе Для начинающих
    Ответов: 37
    Последнее: 15.03.2017, 22:47
  2. какой тайминг прерывания Z80?
    от Руслан в разделе Несортированное железо
    Ответов: 3
    Последнее: 20.03.2013, 14:41
  3. Использование стека и прерывания
    от drbars в разделе Программирование
    Ответов: 21
    Последнее: 16.12.2012, 12:47
  4. Прерывания IM 2
    от GM BIT в разделе Программирование
    Ответов: 12
    Последнее: 21.01.2011, 23:52
  5. IM2, вектор прерывания
    от Jukov в разделе Программирование
    Ответов: 18
    Последнее: 20.09.2006, 09:32

Ваши права

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