LCD pomaga testować bootloader.

  Testy posuwają się powoli do przodu. SD działa. Całe oprogramowanie CA80 przeniosłem na flash.

 

MIKSID on LCD
Stan procesora na wyświetlaczu LCD.

W czasie rozruchu, lub po resecie ATmegi (Z80 jest resetowany przez AVR-a, więc lepiej nie używać przycisku na backplane) od razu ustawiane jest CLK dla Z80 (4 MHz jak w standardowym CA80). Wykonywana jest operacja resetu procesora, ale wprowadzany jest on w stan WAIT już w czasie pierwszego cyklu maszynowego. Wymyśliłem sposób ładowania danych do RAM, który powinien działać na wszystkich typach Z80 niezależnie od technologii i wersji (J4F ograniczył się do CMOS-ów). Na razie testowałem kilka egzemplarzy Z80 z różnymi datami produkcji i Z180, bo o niego najbardziej mi chodziło (Z180 na razie na płytkach "kwadratowych", bo do RC2014 jeszcze doszedłem). Stan WAIT może trwać dowolnie długo, jeżeli procesor ma doprowadzony CLK. Korzystając z tego faktu odczytywany jest plik "CA80.TXT", który jest odpowiednikiem pliku *.bat czyli zawiera listę plików do załadowania. Na razie ograniczyłem liczbę plików do pięciu, ale można to zmienić. Na tym etapie wystarcza. 

CA80 startuje z karty SD.
Kolejne etapy rozruchu CA80 bez ROM.


        Jak widać na zrzucie ekranu terminala, ładowane są cztery pliki: CA88, CA80_N_B, CA80_O_E i MSID_MIN. Wszystkie są plikami *.HEX. W zależności od potrzeb możemy zrezygnować z dowolnego pliku, lub dodać nowy. Na karcie SD możemy przechowywać więcej plików - o tym które załadujemy, decyduje CA80.txt. Oczywiście CA80_N_B (pierwsze 2 kB nowego CA80, litery w nazwie N - new, B - base) jest konieczny, bo to jest nasz system operacyjny! CA80_O_E to rozszerzenie pochodzące ze starej wersji, ale podobno nowa jest identyczna (litery w nazwie O - old, E - extend). CA88 - to 1000H - 1FFFH "firmowego" oprogramowania. Wszystkie utworzyłem ze źródeł opublikowanych przez kolegę @andrzejlisek. Ostatni plik jest mojego autorstwa i służy do testowania kolejnej płytki - "LCD - direct". Nazwa sugeruje coś poważnego i mam nadzieję, że słusznie. Za pomocą zworki CA80/MSID RTS zmuszamy komputer do zaglądania w zastrzeżone obszary. Do tej pory tylko nieliczni mogli korzystać z tego dobrodziejstwa. MIKSID jest odpowiednikiem debugera np. w STM32. W czasie uruchamiania programu pokazuje nam stan procesora. Większość funkcji MIKSID-a ma monitor CA80, jednak na systemowym wyświetlaczu niewiele się mieści. Modyfikacje zawartości rejestrów i pamięci są tam możliwe ale pracochłonne i wymagające większego skupienia uwagi. Na razie mój program tylko aspiruje do rangi debugera, ale od czegoś trzeba zacząć. Może pomoże mi w dalszych pracach nad MIKSID-em.

Komentarze

Popularne posty z tego bloga

Uruchamiamy CA80 na RCbus.

Magnetofon CA80.