Я бы взял.
Я бы взял.
ZXM-Phoenix 1024 rev04
Leningrad-2012
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
ZXM-SoundCard rev.04 HiEnd возьму собранную, слотовое решение, чтобы в скорпион воткнуть.
Mick, что там с производством "полной" версии то?
Хороший.. Плохой.. Главное - у кого ружьё !!
Собрал девайс, фото будет позже и первым делом решил проверить на так сказать "правильном" компьютере всех времен и народов - Pentevo. Проверялось на конфигурации baseconf20110929 и evoreset044. Свежие у меня не идут, разбираться лень.
Как известно, базовая конфигурация блокирует доступ к внешним портам, если они имеются внутри платы. Такими портами для нашей платы являются FFFDh и xxFFh
Вобщем думал как обойти этот маразм и придумал.
1. Отслеживаем запись в порт не по IORQ =0, а по MREQ = 1
2. Сигнал DOS не используем, а чтобы не было колизии с портом контроллера флоповода, то доступ к этому порту на нашей карте возможен только с адресов 4000...FFFFh. Иными словами из ПЗУ (0000....3FFFh) порт этот недоступен.
Но я думаю это ограничение не сильно народ обидит
По крайней мере сегодня я с самого утра гоняю карту работает нормально. Так что ЫЫЫ ты неправ
Для тех кому интересен исходник CPLDшки:
Тут конечно лишние оказались 3 бита данных, ну пусть уж будутКод:TITLE "ZXM-SounCard Light System Logic"; FUNCTION 2mux1 (a, b, sel) RETURNS (y); SUBDESIGN DD2 ( A1, A9, A10, A11, A14, A15 : INPUT; % адреса % WR, RD, MREQ, IORQ, RES : INPUT; % сигналы управления % ENDOS, IOEN : INPUT; DB[7..0] : INPUT; % шина данных % 8CLK : INPUT; % вход тактовой частоты для SAA1099 % PEVO, PRTFF : INPUT; CSSAA : OUTPUT; % выбор микросхемы SAA1099 % CCLK : OUTPUT; % выход тактовой частоты SAA1099 % ) VARIABLE SELECT : NODE; ENIO : NODE; ENIO_EVO : NODE; CSIO : LCELL; STRB_ADDR : DFF; % триггер адреса % SAA_DIS : DFF; CSFF_EX : NODE; CSFF_N : NODE; CSFF : LCELL; CSFFFD : LCELL; SEL_CHIP : DFF; GET_STAT : DFF; FM_DIS : DFF; BEGIN DEFAULTS STRB_ADDR = 0; SAA_DIS = 1; SEL_CHIP = 0; GET_STAT = 1; FM_DIS = 1; END DEFAULTS; % Формирователь сигнала выбора портов клмпьютеров, отличных от Pentevo PEVO =1 % ENIO = IORQ # IOEN # ENDOS; % Формирователь сигнала защиты от колизии портов FF контроллера дисковода - только для Pentevo % STRB_ADDR.d = A14 # A15; STRB_ADDR.clrn = RES; STRB_ADDR.clk = MREQ # RD; % Формирователь сигнала выбора портов кoмпьютеров типа Pentevo PEVO =0 % ENIO_EVO = !MREQ # IOEN # !STRB_ADDR.q; % Формирователь сигнала выбора портов% CSIO = 2mux1(ENIO_EVO, ENIO, PEVO); % Формирователь сигнала выбора микросхемы SAA1099 - порты #4FF и #5FF PRTFF = 0 % CSFF_EX = A14 # A15 # A11 # !A10 # A9 # !A1; % Формирователь сигнала выбора микросхемы SAA1099 - порты #0FF и #1FF PRTFF = 1 % CSFF_N = A14 # A15 # !A1; % Формирователь сигнала выбора микросхемы SAA1099 - порт #FF % CSFF = 2mux1(CSFF_EX, CSFF_N, PRTFF); CSSAA = CSFF # CSIO; % Формирователь сигнала выбора порта #FFFD % CSFFFD = !A1 & A14 & A15 & !CSIO; % Выбор внутреннего регистра осуществляется при записи номера регистра #Fxxxx в виртуальном регистре % SELECT = !(DB[7] & DB[6] & DB[5] & DB[4] & !WR & CSFFFD); % Бит выбора микросхемы SAA1099 % SAA_DIS.d = DB[3]; SAA_DIS.prn = RES; SAA_DIS.clk = SELECT; % Управление тактовой частотой SAA1099 % CCLK = !SAA_DIS.q & 8CLK; %================= Резервные регистры ==================================== % % Бит выбора микросхемы YM2203% SEL_CHIP.d = DB[0]; SEL_CHIP.clrn = RES; SEL_CHIP.clk = SELECT; % Бит статуса % GET_STAT.d = DB[1]; GET_STAT.clk = SELECT; GET_STAT.prn = RES; % Бит управления FM % FM_DIS.d = DB[2]; FM_DIS.clk = SELECT; FM_DIS.prn = RES; END;
P.S. Обнаружился косяк, поставил я микруху 74HCT00 а она сволочь кварц не заводит. Пока запустил с толкача, т.е. через кондер.
Надо поискать HC00 (с ней вроде на прошлых платах стартовал нормально).
Так что, кто чистые печатки хотел можете уже отмечаться в барахолке. Их могу уже начинать рассылать
Последний раз редактировалось Mick; 02.07.2013 в 13:59.
Последний раз редактировалось Mick; 02.07.2013 в 15:53.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)