Вирішив зафіксувати свої думки і прогрес по сабжу.
Все почалося з 2 роки тому, коли я задумався над можливістю обміну інформацією з спеком нормальним способом.
Водночас, передивився різні приблуди, які вже були доступні. Найбільш привабливим став divIDE, але...
Але повторювати його складно і не кошерно, як для мене.
За весь час проб і помилок, вдалося викристалізувати основні умови до проєкту:
1. Повторюваність - хардова частина зроблена на розсипусі або, на крйній випадок, на доступному мікроконтроллері, який легко запрограмувати;
2. Витримати баланс між софтовою і хардовою частиною, щоб було не забагато коду і не за сильно складний хард;
3. По можливості, мінімально змінювати існуючий ром-роми;
4. Зробити прозорю роботу з даними/файлами через стандартний ввід-вивід;
3. Використати можливості спєка по-максимуму;
4. Fun, fun, fun...
І так, що ж можна використати для розширення можливостей спєка:
1. Слот розширення, який в спєку, як і в більшості клонів надає доступ до практично всих сигналів процесора;
2. Можливість підміни стокового рома
3. Використання практики з педжинга ром частини (як в 128)
Перше, що я перевірив, це як можна передавати інформацію через слот розширення.
Була розроблена проста схема, яка писала в тригер і читала з нього. Для цього був потрібен дешифратор порту ввода-вивода, тригери і тристейтовий буфер.
У мене навіть зберігся робочий прототип

Тестування відбувалося через бейсік: OUT 119, 123 i PRINT IN 119.
Схема приблизно така, я тоді тільки вчився працювати з кадом, тож малював чим було Виглядає ужос, але працює.
А радості було... як воно завелося, не передать.
Ну, ок, перевірив - працює, ідемо далі.
Наступним кроком було організувати передачу байта кудись... А от куди його передавати, це вже був інший челендж.
Перше, що спало на думку, це прикрутити ардуіну, як такого собі медіатора.
Впринципі, така ідея має право на життя і розкриває просто фантастичні можливості. Ардуіна підключаєтся до сучасного компа і комунікує через ком-порт - вже є можливість пересилити дані. Для автономності, можна підключити сд карту і дані писати на неї.
Тобто, варіантів - безліч, треба було тільки продумати протокол комунікації.
Основною проблемою є синхронізація роботи ардуіни і нашого порта. В асінхронному режимі, ардуіна може не встигати за потоком байтів з порта.
Більше того, передачу треба організувати у 2 сторони і тут вилазіть ще більша проблема.
Сінхронізацю вирішив робити через біти іншого порта - після завершення запису в порт, на іншому тригері піднімається флаг і спрацьовує переривання на ардуіні з наступним вичитуванням байта, по завершенню - біт скидається, що сигналізує прийнятий байт.
В зворотньому напрямку, ситуація була подібною.
Нажаль, правильна синхронізація роздувала схему досить сильно, крім того залишалися деякі пролеми не вирішенними.
Тому, ідея була відкладена до найкращіх часів...
To be continued...