tapy pisze:
...Nikt nie mówi o jego usunięciu, tylko o doprowadzeniu do stanu obecnego minimum funkcjonaliści. CA80 to był mój pierwszy komputer i nigdy nie zamienię go na nic innego, lecz serce mi się kraja jak zbiera kurz zapomnienia. UART i częściowa funkcjonalność CP/M daje mi pewność, że assembler którego w nim używam, nie umrze wraz z kolejną odsłoną Windows. Może moje pojęcie retro jest zbyt nowoczesne, ale uważam, że system powinien potrafić sam wypluć kod dla siebie przeznaczony.
Widzę zbieżność z moim kierunkiem myślenia... Od roku wykorzystuję CA80 jako obiekt, na którym testuję kolejne "wynalazki". Zacząłem od klawiatury, która potrzebna mi była do ustawiania czasu... Potem zająłem się przesyłaniem plików HEX, wirtualną klawiaturą przez wifi itd.
Jednak do tej pory były to tylko próby wykorzystania nowo zdobytych umiejętności. Dopiero MBC2, którego płytki dostałem od kolegi @Phill2k, otworzył mi zupełnie nowe możliwości. Próby edycji prostych programów za pomocą EDa, pozwoliły docenić współczesne narzędzia. Zwykły Notatnik Windows to frezarka numeryczna a ED zaledwie dłuto i młotek... A trzydzieści lat temu zacząłem budowę kopii RTDS-a.
Wróćmy do meritum. Uwolniłem procesor w MBC2, zaprogramowałem EEPROM, czas na dalsze kroki. Wpadłem na pomysł połączenia CA80 i MBC2. Potrzebna nam przejściówka i kawałek taśmy z wtykami emulacyjnymi.
Zmodyfikowany program dla Atmegi prześle monitor CA80 do RAM-u, zablokuje na czas rozruchu przerwania, żeby coś się przypadkiem nie skasowało. Następnie załaduje do pamięci zawartość plików z karty SD. CA80 nie ma systemu plików i można zrezygnować z użytego w MBC. Zwykłe pliki HEX łatwo przenosić z PC-ta. Na koniec można jeszcze ustawić zegar, to przecież tylko kilka bajtów w pamięci. Tak przygotowany CA80 można powoli odpalić. Najpierw podać CLK 4 lub 8 MHz, jak kto woli. Po chwili odblokować przerwania i już.
Co zyskujemy? Łatwy dostęp do zasobów MBC2, takich jak: 64kB RAM, UART, SD czy I2C.
Można też dopisać funkcje odczytujące ZW i wyświetlające stan wyświetlacza na konsoli, oraz wysyłające do ZK kod klawisza z konsoli. W ten sposób możemy np. uruchamiać płytkę CA bez klawiatury i wyświetlacza, których jeszcze nie mamy. Wszystko to możemy zrobić bez przecięcia ani jednej ścieżki w CA80 i bez zmiany ani jednego bitu w monitorze CA80.
Zrobiłem już przejściówkę, ale jeszcze sprawdzam przed podłączeniem, bo nie chciałbym czegoś zepsuć... Czeka mnie jeszcze programowanie.