Логика у игры такая, вывод данных на AY идёт всегда не зависимо от его наличия, а вывод на бипер выключается при изменении байта в ПЗУ.
Вид для печати
В общем я так понял, что из-за нестандартного пзу игра думает, что в машине 128 кб памяти и включает несуществующий AY? На форуме я узнал, что в Робике есть теневое озу и в него можно загрузить "фирменное " пзу. Теперь вопрос, где взять это пзу в виде wav-файла, что бы загрузить в Робик? И как я понимаю, просто загрузить с адреса 0 его нельзя, ведь там находится родное пзу, надо загрузить его в верхние адреса, потом выполнить команду out 15,0 тем самым подключив теневое озу и переместить загруженное пзу в адреса 0-16384?
- - - Добавлено - - -
Э-хе-хе, это ведь SCL, а я загружаю в Робик wav-файлы, конвертированные из TAP и TZX. Раньше я переделывал кассетные версии в дисковые, но это было так давно, уже и не помню что к чему.
- - - Добавлено - - -
Музыка биперная в меню точно есть! Проверил на андроиде под эмулятором.
- - - Добавлено - - -
Есть такая идея прицепить AY-чип. Буду искать в интернете, когда то встречал на аукро, там собственно и Робик нашел.
Насколько я помню, там по-другому. Загружаешь ПЗУ с адреса 0 (или с какого-нибудь другого, а потом кидаешь на адрес 0), а потом out 15,0 и оно его включает. Причем, если не накосячили на заводе и Робик по-людски спаян, то даже после ресета (даже после нескольких) делаешь out 15,0 - и все работает!!! (т.е. не нужно заново загружать!)
Если кому надо AY-есть на продажу один даже с платой,сори если не по теме.
всегда в exolon на делта-с играл с биперной озвучкой, - музыка (заставка,геймовер), выстрелы, взрывы, счет очков, клады.Чем и запомнился - выстрелы как печатная машинка.
Slider - там не завод накосячил! там накосячил тот кто ром 82 делал! из за ошибки там стэк калькулятора портит первые пять байт ОЗУ с адреса 0. Тоесть если есть в бейсике какая либо арифметика - то надо заново загружать пзу. Для этого народ и делал защиту от записи в нижнюю четверть памяти. А простым тумблером или кнопкой можно было оторвать сигнал сброса триггера переключения от ресета и это позволяло не набирать повторно out15,0 после сброса компьютера кнопками.
- - - Добавлено - - -
Целиком верный ход мыслей. С уточнениями - можно и с 0 грузить - Робик это позволит, но повредятся первые 5 байт озу.
Я делал примерно так, хотя сейчас наверно могу ошибаться (давно асм не смотрел ) в мнемониках и необходимых регистрах :
ORG 32768
LD HL,32768+16( не помню сколько байтов занимает вот этот весь код)
LD DE,0
LD BC,16384
LDIR
LD A,0
OUT (#15),A
loop: JP loop
тут приклеивается дамп ПЗУ:
http://zx-pk.ru/showthread.php?t=19193 изучай всю тему