Итак первое включение и облом. Что с синхрой видео - кадры и строки бегут. По всей видимости перегрелась какая то микруха при выпайки феном. Придется доставать осцил и смотреть.
Итак разобрался с синхрой. Короче не могу без мгтф видимо. При переносе в 6 ревизию узлов с 5 ревизии не туда нарисовал соединение. Так что один порез и проводок нам уже обеспечен.
Прошил в ПЗУ тест DiagROM - вроде ошибок нет. Но при прошивки обычного ПЗУ улетает в Бейсик 48. Надо смотреть дальше.
- - - Добавлено - - -
Запустил для интереса DiagROM в турбо режиме. О чудо, похоже турбина работать возможно будет без шаманства и на КР1533ИР33.
Но это будет видно когда нормальная ПЗУ работать станет.
Пока форум был в ауте, зашил систему в ПЗУ с 90 нс и вуаля - работает. А вот с 70нс ПЗУ сваливается в 48 бейсик.
Уточню, что пока речь идет о AT29C512-90 и AT29C512-70. Так вот вторая похоже слишком быстрая.
Видимо надо удлинять сигнал RDROM.
Попробовал дискогрыз и IDE, вроде работают. Запустил в турбе UMT, часа два погонял - ошибок не случилось в памяти. Посему вероятно всего хватит в данном случае и КР1533ИР33.
Осталось разобраться с видео частью и SD картой.
Ну главное что запустилась и в целом работает.
А что там не так с видео кроме одного соединения?
Мои раритеты и не только. =-)
- Old School
Спектрум 128К (Фирма СОЛОН)
ZX Spectrum 48К, +2 Gray, +3
Sinclair QL Issue.6
Commodore 128, Amiga 500+, 1200
Amstrad CPC464, CPC6128
Spectravision SVI-728
Panasonic MSX 2 FS-A1 Mk. II, Philips NMS 8250 MSX2
Электроника МС 0511
Апогей БК-01Ц- Новоделы
ZX EVO REV C2+Neo-GS+ ZXM MoonSound & Soundcard, ZXM PXOENIX 1024Kb REV 05.2, Harlequin Rev.F, Harlequin 128, Sprinter 2000s, Kay-1024, LUT-2016, Aleste 520EX УКНЦ, ALF-02.- А так же приведение в чувства Scorpion 1024.
[свернуть]
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Бывает. Тоже такие не раз попадались, правда в основном это были 2716.
Мои раритеты и не только. =-)
- Old School
Спектрум 128К (Фирма СОЛОН)
ZX Spectrum 48К, +2 Gray, +3
Sinclair QL Issue.6
Commodore 128, Amiga 500+, 1200
Amstrad CPC464, CPC6128
Spectravision SVI-728
Panasonic MSX 2 FS-A1 Mk. II, Philips NMS 8250 MSX2
Электроника МС 0511
Апогей БК-01Ц- Новоделы
ZX EVO REV C2+Neo-GS+ ZXM MoonSound & Soundcard, ZXM PXOENIX 1024Kb REV 05.2, Harlequin Rev.F, Harlequin 128, Sprinter 2000s, Kay-1024, LUT-2016, Aleste 520EX УКНЦ, ALF-02.- А так же приведение в чувства Scorpion 1024.
[свернуть]
Так потихоньку, а то забуду потом буду описывать все нюансы этой ревизии.
1.) Как я уже выше писал, один порез уже надо будет делать.
В общем вместо сигнала H7 в формирователе сигнала SG/ на плате участвует BC, что неправильно. - этом мой косяк при переносе схем.
Исправляем: Необходимо отрезать дорожку от вывода 5 DD74.3 (ЛН1) и подать на него сигнал H7, например от вывода 9 DD2 (ИЕ19)
2.)При установки микросхемы DD75 (ЛП16) и панельки под DD11 (ATMEGA8515) могут возникнуть определенные неудобства. Нижняя перекладина панельки будет немного задевать. Посему либо ее аккуратно выламываем, либо острым ножом подрезаем.
P.S. Еще хотел бы отметить, что в турбе не всегда стартует Fatall. Потом, экран заполняется ????? всякими - я потом сниму скриншот. Пока не понял природу этого явления.
- - - Добавлено - - -
Наваял прошивку для альтеры. Предупрежу сразу, что она только для этой ревизии плат. В ней добавлена поддержка ПЗУ 512кб (порт 37h)
Проверил, вроде в турбе SD работает.
Но обнаружилось, что обновлять Флешку не получится программно - забыл завести два проводка. В прошиве альтеры два недостающих входа описал. Когда дойдет дела до оновлялки, то придется их подпаять.
Пока правда еще работаю с AT29C512 (64Кб), надо будет поставить 512кб на проверку.
Вот сырки:
Код:---------------------------------------------------------------------------------------------------------------------------- -- Описание: Прошивка микросхемы CPLD -- Проект: ZXM-Phoenix 1024kb rev07 -- Автор: Mick -- Тип CPLD: EPM3064ATC44 -- Версия: v1.00 - 26.05.2018 ---------------------------------------------------------------------------------------------------------------------------- TITLE "ZXM-Phoenix 1024kb System Array Logic"; SUBDESIGN dd71 ( -- Входная тактовая частота CLK CLK_14MHZ : INPUT; -- Сигналы управления с CPU CA[6..4] : INPUT; CD[7..0] : BIDIR; C_RD : INPUT; % сигнал чтения % C_WR : INPUT; % сигнал записи % C_MREQ : INPUT; -- Общие сигналы C_RESET : INPUT; -- Сигналы управления C_DOS : INPUT; % вход селектора TR-DOS % CS_X7 : INPUT; % вход селектора портов % C_A45 : INPUT; % вход селектора обращения к ПЗУ % -- Сигналы SD Card SD_CS : OUTPUT; SD_SCK : OUTPUT; SD_MOSI : OUTPUT; SD_MISO : INPUT; -- Сигналы управления ROM памятью ROM_A16 : OUTPUT; ROM_A17 : OUTPUT; ROM_A18 : OUTPUT; WR_ROM : OUTPUT; ) VARIABLE -- Регистр страниц xx37h микросхемы ROM ( страницы по 16кб) WR_37 : LCELL; ROM_PAGE_r[2..0]: DFF; ROM_WrEn_r : DFF; --разрешение записи в ПЗУ(7 - бит) REG_sddata[7..0] : TRI; -- буфер чтения SD карты DATA_CPU[7..0] : TRI_STATE_NODE; -- SPI интерфейс карты WR_77 : LCELL; WR_57 : LCELL; RD_57 : LCELL; CS_57 : LCELL; SD_count[3..0] : DFFE; SD_shift_in[7..0] : DFF; SD_shift_out[7..0] : DFF; SD_start_sync : DFF; SD_count_en : LCELL; SD_rule_r : DFF; BEGIN ------------------------------------------------------------------------------------ -- Управление памятью ROM ------------------------------------------------------------------------------------ -- Порт xx37h = 00110111b ------------------------------------------------------------------------------------ WR_37 = !(CA[6..4] == B"011") # C_WR # CS_X7; ROM_PAGE_r[2..0].d = CD[2..0]; ROM_PAGE_r[2..0].clk = WR_37; ROM_PAGE_r[2..0].clrn = C_RESET; ROM_WrEn_r.d = CD[7]; ROM_WrEn_r.clk = WR_37; ROM_WrEn_r.clrn = C_RESET; ------------------------------------------------------------------------------------ -- Формирование управляющих сигналов ROM памяти ------------------------------------------------------------------------------------ ROM_A16 = C_DOS # ROM_Page_r[0].q; -- сигнал RA16 = DOS # RPage0; ROM_A17 = !C_DOS & ROM_Page_r[1].q; -- сигнал RA17 = DOS/ & RPage1; ROM_A18 = !C_DOS & ROM_Page_r[2].q; -- сигнал RA18 = DOS/ & RPage2; ----------------------------------------------------------------------------------- -- Сигнал записи в ПЗУ ------------------------------------------------------------------------------------ WR_ROM = !ROM_WrEn_r.q # C_A45 # C_WR # C_MREQ; -- сигнал WRROM/ = A45 # WR # MREQ # !RWREN ------------------------------------------------------------------------------------ -- Интерфейс SD карты, работает на частоте 14МГц ------------------------------------------------------------------------------------ -- Порт xx57h = 01010111b ------------------------------------------------------------------------------------ CS_57 = !(CA[6..4] == B"101") # CS_X7; SD_start_sync.d = !CS_57; SD_start_sync.clk = CLK_14MHZ; ----------------------------------------------------------------------------------- -- Счетчик ------------------------------------------------------------------------------------ SD_count_en = SD_count[0].q # SD_count[1].q # SD_count[2].q # !SD_count[3].q; SD_count[].clk = !CLK_14MHZ; SD_count[].ena = SD_count_en; SD_count[0].clrn = !SD_start_sync.q; SD_count[3..1].prn = !SD_start_sync.q; SD_count[].d = SD_count[].q + 1; ------------------------------------------------------------------------------------ -- Входной сдвигающий регистр ------------------------------------------------------------------------------------ SD_shift_in[].clk = CLK_14MHZ; IF SD_count[3].q ==0 THEN SD_shift_in[].d = (SD_shift_in[7-1..0].q,SD_MISO); ELSE SD_shift_in[].d = SD_shift_in[].q; END IF; ------------------------------------------------------------------------------------ -- Выходной сдвигающий регистр = xx57h = 01010111b ------------------------------------------------------------------------------------ WR_57 = CS_57 # C_WR; SD_shift_out[].clk = !CLK_14MHZ; IF WR_57 ==0 THEN SD_shift_out[].d = CD[]; ELSIF SD_count[3].q ==0 THEN SD_shift_out[].d = (SD_shift_out[7-1..0].q,VCC); ELSE SD_shift_out[].d = SD_shift_out[].q; END IF; ----------------------------------------------------------------------------------- -- Вывод данных в SD ------------------------------------------------------------------------------------ SD_MOSI = SD_shift_out[7].q; ------------------------------------------------------------------------------------ -- Выходная частота SD ------------------------------------------------------------------------------------ SD_SCK = CLK_14MHZ & !SD_count[3].q; ------------------------------------------------------------------------------------ -- Процесс записи в порт управления SD карты = xx77h = 01110111b ------------------------------------------------------------------------------------ WR_77 = !(CA[6..4] == B"111") # CS_X7 # C_WR; SD_rule_r.d = CD[1]; SD_rule_r.clk = WR_77; SD_rule_r.prn = C_RESET; SD_CS = SD_rule_r.q; ------------------------------------------------------------------------------------ -- Чтение из буферного регистра ------------------------------------------------------------------------------------ RD_57 = CS_57 # C_RD; REG_sddata[].in = SD_shift_in[].q; REG_sddata[].oe = !RD_57; DATA_CPU[] = REG_sddata[].out; CD[] = DATA_CPU[].out; END;
Последний раз редактировалось Mick; 26.05.2018 в 10:19.
Сегодня что то сотворил непонятное, теперь при загрузки диска пишет постоянно
C Nonsense in BASIC, 10:2
Числа типа 10:2 меняются в зависимости от запускаемое программы
В каких случаях происходит эта неразбериха?
Последний раз редактировалось Mick; 28.05.2018 в 20:52.
Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)