ILoveSpeccy, я пользуюсь Прекрасным ассемблером :) У меня есть оффлайновая версия тоже.
ILoveSpeccy, я пользуюсь Прекрасным ассемблером :) У меня есть оффлайновая версия тоже.
Больше игр нет
ILoveSpeccy, отписал в личку.
Больше игр нет
Я вроде немного продвинулся дальше с проблемой с прерываниями.
Очень нужна помощь знатаков i8080. Попробую описать что к чему...
И так. Имеются: рабочий эмулятор корвета, основанный на исходниках эмулятора Сергея, и пока не рабочий дизайн корвета на FPGA.
В обоих случаях используется ОПТС2.0. При помощи простейшей трассировки программы выяснилось следующее:
Пока не приходит прерывание, результат сравнения один в один.
Но как только приходит прерывание происходит вот что...
Думаю так понятно будет.Код:Emulator FPGA ---------- ---------- RD 181B,13 RD 181B,13 RD 181C,2B RD 181C,2B RD 181D,BC RD 181D,BC RD 181E,C2 RD 181E,C2 RD 181F,1A RD 181F,1A RD 1820,18 RD 1820,18 RD 181A,12 RD 181A,12 WR 6703,00 WR 6703,00 RD 181B,13 RD 181B,13 RD 181C,2B RD 181C,2B interrupt WR F499,18 WR F499,18 WR F498,1C WR F498,1F RD F7F0,C3 RD F7F0,C3 RD F7F1,76 RD F7F1,76 RD F7F2,00 RD F7F2,00 RD 0076,C3 RD 0076,C3 RD 0077,94 RD 0077,94 RD 0078,0F RD 0078,0F ... ... interrupt routine ... ... RD 0FAD,FB RD 0FAD,FB RD 0FAE,C9 RD 0FAE,C9 RD F498,1C RD F498,1F RD F499,18 RD F499,18 RD 181C,2B RD 181F,1A RD 181D,BC RD 6704,XX RD 181E,C2 RD 1820,18 RD 181F,1A RD 1821,BD ... ... ...
Для объективности результата я вызываю прерывание в FPGA абсолютно в то же время что и в эмуляторе. Но! Эмулятор заносит в стёк адрес 0x181C, а FPGA 0x1F. Ну и как результат, при выходе из подрограммы обработки прерывания в FPGA всё валится.
Может у кого нибудь есть идеи на этот счёт?
---------- Post added at 21:30 ---------- Previous post was at 21:17 ----------
Да, совсем забыл написать, что использую корку T80 из проекта Вектора 06Ц на FPGA от Svofski.
---------- Post added at 22:24 ---------- Previous post was at 21:30 ----------
Интересно... только что поменял T80 на k580wm80a.v из проекта "Башкирии" на DE1 от b2m.... и теперь прерывания отрабатываются правильно.
Скорей всего с этой коркой заведётся... Если всё получится, перепишу её на VHDL потом, если b2m будет не против!
---------- Post added at 23:28 ---------- Previous post was at 22:24 ----------
Ну наконец-то! В симуляторе всё заработало!
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
перечитывал pk8020.lib
обратил внимание на цитату
т.е. получается что INT7 не используется и мало смысла имеет, зато чтением из PIC; Одновибратор включения двигателя запускается на время 3 с
; при переходе сигнала (бита) MOTOR из 0 в 1. Для разгона
; двигателя требуется время около 0,5 с, после этого можно
; инициировать операции контроллера НГМД. Если двигатель
; уже был включен, время на разгон не требуется. Опрос
; состояния одновибратора включения двигателя производится
; через регистр запросов контроллера прерываний.
можно прочитать стостояние мотора ....
т.е. используют PIC как порт ввода/вывода
хотя не уверен что используется.
Постораюсь сегодня запутить контроллер прерываний в железе. И если заработает, то доделаю чтение из PIC. За ненадобностью приоритеты, наверное, делать не буду.
А! Вот ещё что. Я буду эмулировать дисковод микроконтроллером (пока точно не решил, внутренним или внешним), но всё же заинтерисован в реализации работы с SD-картой напрямую из CP/M. Сам я этого не осилю (мои познания ассемблера 8080 уникальны я уже как дня 3 его изучать начал ), но если бы кто нибудь "допилил" бы корветовскую ПЗУ или что там ещё надо, было бы классно!
пзу точно трогать нет смысла, оно только грузит с диска и передает ему управление
чтобы сделать универсально, можно сделать через порт расширения,
тем боле там 3 8битых доступны.
там через "загрузку внешнего ПЗУ" оно будет загрузчик грузить
а он уже читает и диск с SD
там можно для простоты "монтировать" стандартный KDI
блин, можно было бы и попробовать написать, заманчиво
собственно если бы был контроллер которому мы даем "номер сектора в KDI" а он выдает нам его, со стороны CP/M bios это было бы достаточно просто
вон vinxru делает что-то в ту степь, как раз на мелком AVR работа с SD
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)