Прерывания, открытие века! ( на самом деле нет )
- Random Great
- Сообщения: 273
- Зарегистрирован: 14 фев 2017, 00:00
- Контактная информация:
Прерывания, открытие века! ( на самом деле нет )
Настоящий спектрумовский кодер это давно знает а я напишу сюда чтобы не забыть потом
Почему если не включать свой обработчик прерываний, моя программа начинает в некоторых местах глючитъ?
В Spectaculator нашел опцию "запускать пока не придет прерывание"
Выяснилось что по умолчанию на прерывание подвешен вызов #0038 процедуры, которая cмело гадит в IY+40, увеличивая значение там на 1....
Почему если не включать свой обработчик прерываний, моя программа начинает в некоторых местах глючитъ?
В Spectaculator нашел опцию "запускать пока не придет прерывание"
Выяснилось что по умолчанию на прерывание подвешен вызов #0038 процедуры, которая cмело гадит в IY+40, увеличивая значение там на 1....
- Random Great
- Сообщения: 273
- Зарегистрирован: 14 фев 2017, 00:00
- Контактная информация:
Версия 8.0 честно спираченая с vtrdos. Приходится запускать под MacOS через Wine, так как в нем самый понятный по мне отладчик.Шыншыл 55095 писал(а):1. какая версия Spectaculator ?
Как только допишу игру и разбогатею на 100500 мильонов сразу обещаю купить лицензионную
Ну сорь, наверстываю сейчас что упустил в 90-еШыншыл 55095 писал(а):2. пока есть режим IM 1 не используй IY - это азы ваще-то. и это самый ебанутый баг ROM.
Последний раз редактировалось Random Great 29 май 2018, 13:54, всего редактировалось 1 раз.
А ещё прерывания можно запретить. Правда, если используется процедура бипера из ПЗУ, она их включает в конце своей работы, и даже если выключать их сразу после её вызова, прерывание может иногда проскочить. Но если процедуру бипера не использовать, с выключенными прерываниями проблем с регистром IY не будет.
Последний раз редактировалось Weiv 29 май 2018, 14:44, всего редактировалось 1 раз.
- Random Great
- Сообщения: 273
- Зарегистрирован: 14 фев 2017, 00:00
- Контактная информация:
Опрос клавиатуры происходит по честно стыренной из движка Sam Style процедуре сканирования таблицы
можно ли ассемблерную прогу начинать сразу с #5B00? Там же куча места пропадает ?
Snapshot грузится нормально, будут ли потом пороблемы с адаптацией под tap ?
Подпрограммы ПЗУ и Basic не использую если что, обработчик прерываний Im2 ставлю свой.
И под tr-dos придется извратиться наверное, особый загрузчик писать..
p.s. в телеграм как раз умная статейка на тему промелькнула - https://retrocoder.d3.ru/raznye-podkhod ... ing=rating
Пользуясь случаем заодно спрошу у взрослых дядек-программистов -scanKeys:
ld a,(HL)
and a
ret z
inc hl
in a,(0xfe)
and (hl)
inc hl
ld e,(hl)
inc hl
ld d,(hl)
inc hl
jr nz,scanKeys
or 2
ret
можно ли ассемблерную прогу начинать сразу с #5B00? Там же куча места пропадает ?
Snapshot грузится нормально, будут ли потом пороблемы с адаптацией под tap ?
Подпрограммы ПЗУ и Basic не использую если что, обработчик прерываний Im2 ставлю свой.
И под tr-dos придется извратиться наверное, особый загрузчик писать..
p.s. в телеграм как раз умная статейка на тему промелькнула - https://retrocoder.d3.ru/raznye-podkhod ... ing=rating
в статье написано, что Бейсик 128 использует часть для переключения памяти.
если установлен im 2, то юзай сколько влезет, хотя выигрыш мизерный.
в прежних релизах, если были проблемы с этим участком, то в загручик включали процедуру переключения на режим 48К с открытым портом, и не парились(:
а снапшот от ужясма - это pain in ass - системные переменные засраны. Так что не знаю, на чем скажется.
если установлен im 2, то юзай сколько влезет, хотя выигрыш мизерный.
в прежних релизах, если были проблемы с этим участком, то в загручик включали процедуру переключения на режим 48К с открытым портом, и не парились(:
а снапшот от ужясма - это pain in ass - системные переменные засраны. Так что не знаю, на чем скажется.
Ненависть- это подарок
Если бейсик и трдос не использовать, можно сразу с #5B00 начинать. Для работоспособности трдос нужна часть её системных переменных и место под буфер, насколько я помню.Random Great 55148 писал(а): можно ли ассемблерную прогу начинать сразу с #5B00? Там же куча места пропадает ?
Snapshot грузится нормально, будут ли потом пороблемы с адаптацией под tap ?
Подпрограммы ПЗУ и Basic не использую если что, обработчик прерываний Im2 ставлю свой.
И под tr-dos придется извратиться наверное, особый загрузчик писать..
p.s. в телеграм как раз умная статейка на тему промелькнула - https://retrocoder.d3.ru/raznye-podkhod ... ing=rating
Можно и напрямую программить ВГшку, но это надо заморочиться. Как показывает практика, если перед работой программы чистится экран, я про именно работу самой программы или игры и в самой прграмме не юзать бейсик и не ходить в трдос штатными процедурами, то никто не мншает всё спаковать, записать, а после загрузки кодового блока зачернить экран, кинуть туда распаковщик и распаковать хоть от 5b00 до ffff.