Выложу пока то, что есть:
https://disk.yandex.ru/d/W-HF4hAPftLbUQ
чтобы не думали что забросил :)
Вид для печати
Выложу пока то, что есть:
https://disk.yandex.ru/d/W-HF4hAPftLbUQ
чтобы не думали что забросил :)
Можно я сразу отмечучсь как тестировщик, и расскажу о проблемке. В целом не значительной. Если платформу оставить прям в конце предидущего кадра и вылететь в следующий, а потом обратно вернуться по низу, то модуль оказывается в платформе и застревает. Можно поворачивать его вправо - влево, стрелять, но сдвинуть с места не реально.
Вложение 78798
Спасибо, исправил.
P.S.
Цвета расчитаны на GRB палитру, переключите в эмуляторе View->GRB Screen
Добавил звук:
https://disk.yandex.ru/d/W-HF4hAPftLbUQ
Не загружается .sav-ка на реальной. Если через RT-11 - вылетает в трап. ?MON-F-Trap to 4 001014
Если через UkncComSender - вылетает в СТОП 000010/000012.
На эмуляторе UKNCBTL что удивительно работает. На EMUSTUDIO не запустилося. (EmuStudio кажется анализирует некие регистры и туда ничего писать не надо, у меня оно выдало позеленевший экран и якобы включило режим "двк")
.sav-ку LM7 взял просто с образа. Попытался загрузить двумя способами.
А так на UKNCBTL неплохо, нормас звук. Зачетно.
Картинка с EmuStudio
https://i.imgur.com/e4UqjK2.png[свернуть]
Точно в "левые" регистры ничего не пишется и не читается из них? Трап обычно на это намекает. Трап либо можно отловить, либо .. я не знаю.
Я налетал на такие грабли с реальными УКНЦ у которых (зачем-то) была выпаяна микросхема ком-порта. А я мол решил позапрещать прерывания от ком-порта в игре (тоже неясно зачем :) Ну и вообщем RiverRaid на такой машине без 065-й микросхемы не запускался. Вываливался куда-то, пришлось фиксить.
BIC #000100, @#176564
Вот эта шляпа возможно выдает trap ибо она стоит на адресе 1014. Ну это мое нубское предположение.
Этот регистр типа сетевой адаптер. Убери его. Не у всех есть сетевые адаптеры. Вот оно и вылетает в трап. (и видимо портит работу с EmuStudio)
(я еще помню как Titus по шапке надавал мол зачем ты лезешь в какой-то регистр, делать больше нечего чтоли :) до-сих пор в коде осталось в виде комментария (и сериал адаптер надо тоже закомментировать, а то я похоже такой-же программист - дай мол позапрещаю прерывания, а то че они..)
Код:; disable serial adapters interrupts
;bic #100, @#176560 ; network, input
;bic #100, @#176564 ; network, output
bic #100, @#176570 ; rs-232, input
bic #100, @#176574 ; rs-232, output
; trap register, disable interrupts
; emustudio is using it - so it's commented here
;mov #0, @#176644
Ну возможно наложилось двоякое. У меня на реальной железке не подоткнута сетевая карта и вот 176564 выдаст банальный трап. Ну а ловушка да, приколы от Титуса :) Решаемые впрочем легко
Как вариант. Я тупо их на адрес rti отправляю всё это скажем так "неизвестное". Единственный возможно момент - это прерывания в периферийном процессоре где должна звучать музыка и звуки. Но точно в этом не уверен. Например срабатывает прерывание от программируемого таймера и перед ним кто-то жмет кнопку на клаве или vsync сработал. Какое-то будет конечно быстрее из них. Но обработка клавы может занять время и это запортит ожидание прерывания звука. Есть примеры таких игр. Тот-же "музыкальный тетрис" или "гоблины" вполне факапят прерываниями видимо, музыка звучит с какими-то косяками.