Прошивка плюс описание расширенного набора команд в BASICе:Вложение 55967
Вид для печати
Прошивка плюс описание расширенного набора команд в BASICе:Вложение 55967
Вот тут все есть: https://github.com/RBSC/F4-FMPAC/archive/master.zip
Коммерческое использование не разрешается.
- - - Добавлено - - -
Это скорее всего от внешнего FMPAC (в виде карика), хотя именно этой прошивки я еще не видел. У меня другая прошивка для внешнего FMPAC. В нашем модуле мы используем прошивку от внутреннего FMPAC (позаимствована из японских 2+ машинок) по одной причине - внутренний деактивируется если вставляется картридж с FMPAC в слот.
Допаял сегодня схему F4 на платке FMPAC, но к сожалению разницы не вижу. Чтение из порта F4 даёт 255 (инвертированный нуль), хотя в эмуляторе MSX2+ машинки дают 128. Кто-нибудь собирал схему F4 для использования на Ямахах?
F4 это порт, у которого только старший бит авктивен.
Тоесть при прямом чтении он может иметь только два значения - 127 (7Fh) либо 255 (0FFh).
Код:Сама процедура чтения регистра #F4 находится в
базовой части ПЗУ MSX2+:
L017A: jp L146A ;Read #F4
L017D: jp L146E ;Write #F4
....
L146A: in a,(0F4h)
cpl ;либо nop
ret
L146E: cpl ;либо nop
out (0F4h),a
ret
В зависимости от того, в какое состояние
устанавливается бит 7 порта #F4 при включении
питания, в процедурах чтения и записи, либо
есть команда инверсии состояния регистра, либо
её нет.
Если бит 7 при включении питания сбрасывается
в 0, то команду cpl надо заменить на nop.
Камиль, в биосе, который вы адаптировали код именно такой, как у вас в примере. После включения питания из порта читается 255, в то же время в эмуляторе Сони 2+ выдаёт 128, а Панасоник 2+ выдает 127. Если запустить Ямаховские ПЗУ в эмуляторе, то выдаётся 127.
Как можно проверить работоспособность порта на реальной Ямахе? Насколько я понимаю если сделать программный ресет по defusr=0:a=usr(0) то при "теплом" старте заставка выводиться не будет. По крайней мере так в эмуляторе работает. У меня же на Ямахе заставка выводится, то есть порт не работает как надо. Все вроде собрано по схеме и должно работать...
1) Как я понял LOGO выдается при каждом включении питания и при каждом нажатии на RESET? Я правильно понял?
2) Проверьте что выдается по комадам:
OUT &HF4,0: PRINT INP(&HF4)
и
OUT &HF4,128: PRINT INP(&HF4)
и как сбрасывается комп по команде
DEF USR=0: PRINT USR(0)
Раз всегда читается 255, значит записи (либо чтения) в (из) порт(а) нет.
Хорошо схему проверю, но теперь уже завтра с утра.
Я вот провёл эксперимент на ночь глядя. Насадил отдельную платку регистра F4 (спасибо за неё, Камиль!), на штырьки нашего FMPAC модуля снизу, а потом этот бутерброд вставил в панельку z80 на Ямаховской плате. У вуаля - F4 заработал и теперь можно делать "теплый старт". Так что мелкая платка работает как надо, а то что у нас на FMPAC плате наворочено надо перепроверять. Надеюсь Камиль завтра посмотрит и скажет где мы накосячили.
Первое, что бросается в глаза, отсутствие сигнала /M1 на входе дешифратора порта F4, хотя у ЛА2 (74LS30) есть свободный вывод для его подключения.
А так вроде схема соответствует исходной рабочей.