http://www.youtube.com/watch?v=w672cC3HSQ4
---------- Post added at 01:41 ---------- Previous post was at 01:25 ----------
В игре Dizzy-2 и Exolon — направления обрабатываются нормально, но кравиша "огонь" почему-то в инверсии работает.
Вид для печати
http://www.youtube.com/watch?v=w672cC3HSQ4
---------- Post added at 01:41 ---------- Previous post was at 01:25 ----------
В игре Dizzy-2 и Exolon — направления обрабатываются нормально, но кравиша "огонь" почему-то в инверсии работает.
introspec, у меня подозрения что у divIDE проблема тоже какая-то присутствует. Пока не понял какая только.
Ну вот так, чисто глядя на видео, очень трудно себе вообразить какая там может быть проблема. Если бы в порт джойстика прилетало что-то с шины, цифры в бейсик программе не были бы такими стабильными. Внешне выглядит так, что всё ОК в железе. Я бы всё же перепроверил логику опроса в игре, скажем, что она делает при нажатии на "включить джойстик" (и в какой момент она, собственно, проверяет его наличие).
Может кемпстон надо в определённое время опрашивать? Например строго в начале прерывания.
И меня беспокоит нажатый постоянно огонь в Exolon и Dizzy-2. Глючно опрашиваем джойстик? особенности +2 issue_1 ?
Хмм... может код опроса порта джойстика должен быть в быстрой памяти или даже в ПЗУ ?
Откомпилируй LD BC, 31 : IN C, (C) : RET по адресу 30000 (где хочешь в медленной памяти, конечно) и замени IN 31 в своей бейсик-программе на USR 30000 - чтобы убедиться на 100%.
---------- Post added at 20:53 ---------- Previous post was at 20:47 ----------
Просто посмотри, будет ли оставленный в покое джойстик возвращать всегда 0. Если джойстик конфликтует с ULA, то иногда должны будут проскакивать ненулевые значения (в основном - значения атрибутов экрана). Если дело окажется именно в этом, придётся перенести опрос джойстика в обработчик прерывания.
основная задача теста - отрубить джойстик в случае малейшего подозрения.
включить его всегда можно.
---------- Post added at 23:55 ---------- Previous post was at 23:54 ----------
1. он и так на прерывании обрабатывается.
2. у меня нет кода в медленной памяти.