Форум за любителите на Стара електроника
Персонални компютри, игрови приставки и друга стара електроника за забавление => Ремонт, схеми, документация, литература => Темата е започната от: NKK в 16 Януари, 2022, 22:29:46
-
Преди време колегата CVT беше споменал за подобна платка от ebay и тогава си припомних, че имах подобна идея със статус "на трупчета" :)
Та идеята набързо бе претворена в платчица, наситена и тествана, но само с уред, осцилоскоп или пробник няма какво толкова да се види. Затова спретнах и едно допълнение с гръмкото име 8-bit Port Data Monitor или по просто казано светодиодчета с драйвер 74LS240 или 74LS241 за да не товаря изходите на PPI-то 8255. Драйверите ги избрах такива, че ми се намират под ръка и се чудех къде мога да ги ползвам,а и е по-малко запояване сравнено с транзистори. Написах една малка тестова програмка на Бейсик и мониторната платка замига като циганска каруца на селски събор :lol:
Както се вижда от снимките има незапоени елементи, че липсваха някои неща, а исках да видя крайният резултат. Платката се управлява много лесно с PEEK и POKE команди, PPI-то 8255 предоставя три 8-битови порта, които могат да се настройват като входове, изходи или вход-изходи. На който му е интересно трябва да разгледа по-подробно PDF-а на схемата 8255. Първоначално бях сложил руския аналог К580ВВ55, който естествено не пожела да работи (реших, че съм омазал нещо при проектирането) но след поставянето на по-нормален чип всичко си дойде на мястото. После пробвах още един К580ВВ55, но и с него не се получиха нещата, та или по закона на Мърфи съм улучил два дефектни чипа (нищо, че са нови) или има някакъв проблем с времената.
Толкова за днес, като ми остане малко време ще допълвам с информация и ще пусна тема в търговския раздел.
Приятна вечер на всички колеги :drinks:
-
32-ката е да развържеш /RW и /WR , ама не разбрах 04-ката какво прави ;) .
К580ВВ55 е по-бавен и има разлика в времената на достъп , може затова да не работи .
Може да сложиш в следващата ревизия ( ако не си ) джъмпери за да се избира PCXX да се свързва към NMI/IRQ. Така може да организираш и прекъсвания и удоволствието ще е пълно .
-
По-скоро обратното '04 е за формиране на /r и /w, а '32-ката за адресният дешифратор.
https://vintageapple.org/apple_ii/pdf/Hardware_Interfacing_With_The_Apple_II_Plus_1983.pdf
около 60-та страница.
-
Мда , реално може да стане само с един инвертор .
Но так е като по учебник ! ;) .
-
Хубава идея. Преди години (15-20) и аз имах намерение да си направя някакви контролери за правеца с Интел 82ХХ. Имам различни от един ИЗОТ (от тези дето дори процесорния блок е на отделна платка и се включват през шина) 8250, 8251, 8255 и т.н. Лесни са за управление и нямат нужда от допълнителни елементи покрай тях. Най-накрая си прибрах правците (8А/8С) и вече и аз мога да се захвана с някакви джаджи. Сега поне по-лесно може да се поръчват платки.
-
Мда , реално може да стане само с един инвертор.
То за ставането - става, но нямаше да е пълен адресния дешифратор :) За супер минималистичен вариант съм издялкал една карта с MC6821, а макси версията е с 2 броя 6522 с възможност за обработка на IRQ-та, но няма време в момента за тях ???
-
Преди време колегата CVT беше споменал за подобна платка от ebay...
...
Платката се управлява много лесно с PEEK и POKE команди, PPI-то 8255 предоставя три 8-битови порта...
...
Много интересна карта! Ще споделя един проблем който срещнах на моята I/O карта от иБей, като се надявам че при твоята няма да го няма.
Когато се изпращат данни посредством POKE към някакъв микроконтролер (ESP32 в моя случай) трябва да може да се генерира прекъсване в микроконтролера. Главния проблем на моята карта беше че нямаше отделен пин за това прекъсване когато нещо се запише на определен порт. Затова ако исках да изпратя 8 бита по Порт 0, бях принуден да използвам един бит от Порт 1 само за тази цел. Това обаче много забавя нещата от Бейсик, даже и когато кода се компилира с Айнщайн.
Например ако искам да изпратя 16-битовото число 0x2d2d от Бейсик трябваше да напиша:
POKE P0ARD, 2D$ : POKE P1ARD, 0 : POKE P1ARD, 1 : POKE P0ARD, 2D$ : POKE P1ARD, 0 : POKE P1ARD, 1
Ако обаче има отделен пин за прекъсването, кода става поне 3-пъти по-бърз, тъй като викаме POKE само два пъти:
POKE P0ARD, 2D$ : POKE P0ARD, 2D$
Затова направих тази модификация (https://www.sandacite.com/forum/index.php?topic=16078.msg123507#msg123507), която де факто изкарва чип-селекта от адресния дешифратор директно към бит 0 на Порт 1, което ми позволи да оставя само 3 чипа на картата за бърза двустранна 8-битова комуникация.