Для RAGE как раз 1 надо, на оригинальном железе. Значит в speccy2010 что-то не так сделано.
Вид для печати
Вектор скорее всего будет неисправен по 2м причинам - или ПЗУ не фирменное 82 года, или нет FF на шине во время когда к ней никто не обращается(эмуляция 8ми резисторов 4.7к с плюса питания на шину данных).
В зависимости от того как оно проверяет вектор - в ПЗУ или в ОЗУ.
А порт FE надо попробовать почитать во первых из 8 полных 16 битных адресов, во вторых - аналогично с шиной - могут быть 2 или сколько там старших битов неопределенными. По умолчанию - из них должно читаться еденицы в верхних разрядах. Но это уже можно выставить и принудительно в коде чтения порта FE в плисине.
будем искать :)Цитата:
(эмуляция 8ми резисторов 4.7к с плюса питания на шину данных)
вот что говорит тест портов.
http://i.piccy_.info/i9/39137ea95cb7...G_0571_500.jpghttp://i.piccy_.info/a3/2014-10-31-1...72x354-r/i.gif
а вот эмулятор
http://i.piccy_.info/i9/7a1f517902f3...iannyi_500.jpghttp://i.piccy_.info/a3/2014-10-31-1...61x362-r/i.gif
palsw, возможно проблема здесь:
модуль zports.vКод:// reading ports
always @*
begin
case (loa)
PORTFE:
dout = {1'b1, tape_read, 1'b0, keys_in};
MVV, не могу нагуглить по этому порту какой бит отвечает за что.
Цитата:
#FE - клавиатура, цвет бордюра, бипер, магнитофон
#7FFE - полуряд Space...B
#BFFE - полуряд Enter...H
#DFFE - полуряд P...Y
#EFFE - полуряд 0...6
#F7FE - полуряд 1...5
#FBFE - полуряд Q...T
#FDFE - полуряд A...G
#FEFE - полуряд CS...V
Цитата:
OUT FE
D0-D2 - цвет бордюра (8 цветов) - BRG
D3 - запись сигнала на магнитофон
D4 - управление звуковым каналом ("бипером")
по моему там D5 это вход с магнитофона - потому как D0-D4 должны быть данные клавиатуры - 5 кнопок в ряду.
П.С. Глянул еще раз картинку с тестами - так и есть.
Что до проверки шины - был вроде тест стабильности шины (floating bus test) но не помню как программа называлась
проверить можно из бейсика - вывести в цикле данные из портов с 32 по 127й включительно - если будет везде читать FF значит шина стабильна. Если лабуду - не стабильна.
так в порт клавиатуры срет загрузка с магнитофона?
Код:К примеру, рассмотрим чтение клавиатуры.
Адреса портов клавиатуры отличаются только
старшим байтом, а младший всё время равен
#FE. Какой полуряд в данный момент читает-
ся, видно из таблички:
╔═══════════╤═══════╗
║ Полуряд │ Адрес ║
║ │ порта ║
║───────────┼───────╢
║ Space...B │ 7FFE ║
║ Enter...H │ BFFE ║
║ P.......Y │ DFFE ║
║ 0.......6 │ EFFE ║
║ 1.......5 │ F7FE ║
║ Q.......T │ FBFE ║
║ A.......G │ FDFE ║
║ CS......V │ FEFE ║
╚═══════════╧═══════╝
Одной из особенностей чтения из порта
клавиатуры является то, что младшие биты
полученного значения относятся к крайним
клавишам полуряда. Наример, если мы выпол-
ним нечто вроде
LD BC,#EFFE
IN A,(C)
то полученный байт будет иметь следующее
значение:
╔══╤══╤══╤══╤══╤══╤══╤══╗
║x │x │x │6 │7 │8 │9 │0 ║ Клавиша
╟──┼──┼──┼──┼──┼──┼──┼──╢
║D7│D6│D5│D4│D3│D2│D1│D0║ Бит
╚══╧══╧══╧══╧══╧══╧══╧══╝
Битам D7, D6, D5 повезло - они имели
честь остаться неиспользованными. О том,
что определённая клавиша нажата, мы узнаем
по состоянию соответствующего ей бита - он
будет сброшен.
Порт FE
Назначение битов при чтении из порта
D0-D4 - отображают состояние определённого полуряда клавиатуры ZX Spectrum. Порты полурядов - #7FFE, #BFFE, #DFFE, #EFFE, #F7FE, #FBFE, #FDFE и #FEFE. Возможно одновременное чтение нескольких полурядов при сбросе нескольких бит в старшем байте адреса порта. В контроллере клавиатуры компьютера ATM Turbo некоторые комбинации старших адресов заняты другими функциями.
D6 - отображает состояние магнитофонного входа (EAR).
D5, D7 - обычно не используются. В некоторых клонах ZX Spectrum эти биты используются для чтения сигналов последовательного и параллельного интерфейса. В компьютерах Спарк и Аллофон эти биты отображают состояние дополнительных клавиш.
Да, с магнитофона. Мы ведь имеем возможность монтировать TAP :)
MVV, D5 получается сидит в 0 всегда вот и матерятся тесты на порт клавиатуры.в эмуляторе везде 1 читаются с порта
Чет ты меня сбиваешь? Сидит в '0' D5. А он не используется.
Попробуй поправить тут: http://zx-pk.ru/showpost.php?p=749816&postcount=1488
замени на:
dout = {1'b1, tape_read, 1'b1, keys_in};
Народ, есть тут кто уже разобрался с арбитром? Кто как считает, можно ли прикрутить GS? :v2_walkm:
Дело может пойти быстрее? :v2_dizzy_coder: если будет мотивация $$$?