b2m, связка k580wm80a+b2m_kbd даёт только порт клавиатуры или есть другие функции?
Неприятная ботва - шина данных 16 бит. Я было начал на восьмибитку переделывать, но застрял в модуле видео. Пока не вкурю как он работает в деталях, делать что-то бесполезно...
b2m, перепиши под шину 8 бит, пока проект не разросся А недостающий старший адрес можно как раз на выборку старших 8 бит данных прицепить, чтобы полчипа памяти не терять
Последний раз редактировалось Ewgeny7; 30.11.2010 в 19:48.
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
А у вас шина данных у SRAM 8-ми битная? Мне 16-ти битная очень даже подошла, т.к. для 8-ми точек нужно 2 байта из ОЗУ пересылать, по одному биту на точку от каждого байта. Ты тогда просто добавь ещё одно состояние к vid_state, и считывай побайтно в vid_data (в top-level модуле).
А разве там надо что-то переписывать? Просто привязка к SRAM-у будет немного по другому выглядеть (сам-же говоришь, вместо lsb/msb сделать ещё один старший бит адреса).
---------- Post added at 00:19 ---------- Previous post was at 00:03 ----------
Попробуй так:
Код:assign SRAM_ADDR = vid_rd ? {1'b0,vid_state[0],1'b0,~ppa1_c[7],vid_addr[13:8],vid_addr[7:0]+ppa1_b} : {1'b0,sram_msb,npage[2:1],addrbus[13:0]}; ... wire vid_rd = vid_state==3'b010||vid_state==3'b011; ... case (vid_state) 3'b000: vid_state <= vid_drq && ~vid_exdrq ? 3'b001 : 3'b000; 3'b001: vid_state <= 3'b010; 3'b010: vid_state <= 3'b011; 3'b011: vid_state <= 3'b100; default: vid_state <= 3'b000; endcase if(vid_rd) begin if(vid_state[0]) vid_data[15:8] <= SRAM_DQ; else vid_data[7:0] <= SRAM_DQ; end;
---------- Post added at 00:53 ---------- Previous post was at 00:19 ----------
Вопрос не понят. Клавиатура в Башкирии-2м отображается на память, если выбрана соответствующая карта памяти.
---------- Post added at 01:37 ---------- Previous post was at 00:53 ----------
Эх, надо было присвоение vid_data внутрь case засунуть, было бы понятнее
Код:case (vid_state) 3'b000: vid_state <= vid_drq && ~vid_exdrq ? 3'b001 : 3'b000; 3'b001: vid_state <= 3'b010; 3'b010: begin vid_state <= 3'b011; vid_data[7:0] <= SRAM_DQ; end; 3'b011: begin vid_state <= 3'b100; vid_data[15:8] <= SRAM_DQ; end; default: vid_state <= 3'b000; endcase
Последний раз редактировалось b2m; 30.11.2010 в 22:43.
А что нужно давить после старта, чтобы запустить диски .срм с SD-карты?
На экране вижу нечто вроде меню монитора.
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Да и образы cpm на что похожи? Какой их формат? А вообще интересно модуль вм80 в одном файле видеть.
Уже работает? Ишь-ты
На пустую карту записать boot.rom и два образа диска. Монитор вначале пытается загрузить с карты boot.rom, и если успешно, то запускает его, иначе вываливается в монитор (он довольно убогий, нет даже команды вывода дампа). Формат карты - любой FAT, а т.к. сама цепочка FATа не используется, то файлы не могут быть фрагментированы, это достигается записью на пустую карту.
---------- Post added at 13:06 ---------- Previous post was at 13:04 ----------
Те-же самые, которые лежат на сайте в разделе download и которые используются для эмулятора. boot.rom скачать там-же, где и исходники.
Работает. Только "шумы" на экране видны. Пытаюсь разобраться откуда они.
---------- Post added at 11:50 ---------- Previous post was at 11:46 ----------
С этого места уточни - у тебя идет прямое чтение секторов начиная с N-ного, без поиска расположения файла на диске?
Если так, то с какого сектора у тебя размещен файл .rom?
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Э... А память точно быстрее 20нс?
Алгоритм такой:
1. читаем нулевой сектор, если это MBR, а не загрузочный сектор, читаем загрузочный сектор самой первой партиции.
2. вычисляем, где корневая директория, и ищем в ней BOOT.ROM
3. если найден, вычисляем номер первого сектора BOOT.ROM, грузим его и запускаем
4. BOOT.ROM догружает следующие пару секторов на место БИОС CP/M, а затем ищет аналогичным образом в корневом каталоге файлы с расширением .CPM, вычисляет их начальные секторы и сохраняет в массиве внутри БИОС CP/M
5. наконец, производится горячий старт CP/M, при котором догружается остаток CP/M с первого образа диска.
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)