Реальный 8086/88 + FPGA
Moderator: Shaos
-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
Причесал клавиатуру, вроде работает нормально. Пока, правда, только в одну сторону (посылать команды в клавиатуру сходу не заработало, а разбираться пока лень).
Сделал нормальный (более-менее) обработчик INT9, а также функции 0, 1 и 2 для INT16, так что минимальный набор для общения с внешним миром присутствует.
Пока в раздумьях, что делать дальше...
Сделал нормальный (более-менее) обработчик INT9, а также функции 0, 1 и 2 для INT16, так что минимальный набор для общения с внешним миром присутствует.
Пока в раздумьях, что делать дальше...
-
- God
- Posts: 1388
- Joined: 02 Jan 2006 02:28
- Location: Abakan
-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
А зачем ? SPI я еще окончательно до ума не довел, но даже в первом приближении скорость вполне нормальная. Могу довольно легко добавить аппаратное чтение/запись не одного байта, а блока, тогда вообще скорость будет выше, чем в принципе может понадобиться для подобной системы.jdigreze wrote:Вариант на подумать: доступ к SD/MMC через порты IDE/ATA.
Если же просто попробовать, то сначала нужно найти в себе желание

-
- God
- Posts: 1388
- Joined: 02 Jan 2006 02:28
- Location: Abakan
-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
Сделал основные функции INT10...
Из проблем - вдруг обнаружил, что способ реализации аппаратных прерываний у меня в корне неверный (при одновременных нескольких запросах на прерывание получается полная фигня). Думаю, что делать - попробовать написать свой простейший контроллер прерываний, найти где-то готовый на VHDL или же сделать новую плату с 8259 ?
Из проблем - вдруг обнаружил, что способ реализации аппаратных прерываний у меня в корне неверный (при одновременных нескольких запросах на прерывание получается полная фигня). Думаю, что делать - попробовать написать свой простейший контроллер прерываний, найти где-то готовый на VHDL или же сделать новую плату с 8259 ?
-
- God
- Posts: 1388
- Joined: 02 Jan 2006 02:28
- Location: Abakan
-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
-
- Doomed
- Posts: 662
- Joined: 18 Nov 2013 02:38
- Location: Москва
Я тоже, кстати искал когда-то, и то же не нашел. Зато натыкался на инфу, что есть некий пакет Aldec's Active-HDL и в нем есть тулза IP Core, которая может генерить в VHDL по щелчку мыши начиная от простейшей логики заканчивая драйверами UARTов и всякими i82xx, в том числе и i8259. Не знаю что там у них насчет лицензий и демоверсий, но если одним глазком охота посмотреть - то всем известно где взять.newold86 wrote: Кстати, бесплатных сходу не нашел. Есть пара коммерческих, но процедуры покупки крайне сложные.
-
- God
- Posts: 1388
- Joined: 02 Jan 2006 02:28
- Location: Abakan
Гугление вывело на такой вот проект SoC x86 под LGPL. В описании присутствует simple 8259 pic. Может это поможет дальше двинуться.newold86 wrote:Кстати, бесплатных сходу не нашел. Есть пара коммерческих, но процедуры покупки крайне сложные.
-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
Спасибо за ссылку, но даже смотреть там не буду по двум причинам:jdigreze wrote:Гугление вывело на такой вот проект SoC x86 под LGPL. В описании присутствует simple 8259 pic. Может это поможет дальше двинуться.newold86 wrote:Кстати, бесплатных сходу не нашел. Есть пара коммерческих, но процедуры покупки крайне сложные.
1. Я даже VHDL еле-еле 'со словарем' понимаю, а там вообще Verilog
2. Мой проект - просто детский лепет по сравнению с тем, что там реализовано. Боюсь, потеряю вообще все остатки мотивации...
-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
Как говорится, нет худа без добра... Из-за простуды остался дома и решил немного повозиться с проектом, к которому уже начал остывать. Дописал некоторое количество процедур BIOS'а (если честно, в основном затычки пока ставил), и получил следующее (это с SD карты):

Пока не знаю, поднимутся ли у меня руки допилить остальное, чтобы DOS все-таки загрузилась...
Пока не знаю, поднимутся ли у меня руки допилить остальное, чтобы DOS все-таки загрузилась...
-
- Doomed
- Posts: 662
- Joined: 18 Nov 2013 02:38
- Location: Москва
-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
В очередном остром приступе программизма посидел очередные пару часов над проектом. Результат, как говорится, налицо:

Все, естественно, крайне сырое и с огромным количеством заплаток (сам не понимаю, как такое может работать), поэтому при попытке запустить Norton Commander на половине дороги система перезагружается, но это дело времени (вернее, в первую очередь, желания).
Немного странно, что еще пару недель назад я говорил, что сделать что-то типа PC XT для меня нереально, а тут и железо, и BIOS реально заработали
Конечно, возможности отладки при полном контроле над железом и софтом просто офигительные. Вылезла проблема с порчей места в памяти - тут же добавил узел, вызывающий NMI при записи в то место (ну и много других подобных вещей). Соорудил примитивный отладчик с учетом возможности подгонять железо под него, все стало очень удобно и эффективно.
Вообще, думаю, результат получился потому, что была возможность легко выбирать, чем добиваться нужной совместимости в том или ином случае - аппаратным или программным обеспечением. В одном направлении затык - пойдем с другой стороны.
Все, естественно, крайне сырое и с огромным количеством заплаток (сам не понимаю, как такое может работать), поэтому при попытке запустить Norton Commander на половине дороги система перезагружается, но это дело времени (вернее, в первую очередь, желания).
Немного странно, что еще пару недель назад я говорил, что сделать что-то типа PC XT для меня нереально, а тут и железо, и BIOS реально заработали

Конечно, возможности отладки при полном контроле над железом и софтом просто офигительные. Вылезла проблема с порчей места в памяти - тут же добавил узел, вызывающий NMI при записи в то место (ну и много других подобных вещей). Соорудил примитивный отладчик с учетом возможности подгонять железо под него, все стало очень удобно и эффективно.
Вообще, думаю, результат получился потому, что была возможность легко выбирать, чем добиваться нужной совместимости в том или ином случае - аппаратным или программным обеспечением. В одном направлении затык - пойдем с другой стороны.