W prehistorycznych latach ‘80 i ’90 ubiegłego wieku zagościły do naszych domów komputery. Legenda głosi, że kto wtedy z nimi zaznał kontaktu, ten już na zawsze pozostanie w ich władaniu. Może dlatego co jakiś czas ludzie włączają sobie ich emulatory i odpalają na nich stare gry.
Ci bardziej wkręceni kupują sobie od nowa stary sprzęt na aukcjach internetowych. Ale my tu o czymś innym.
Zawsze korciło mnie by zrobić emulacje starych komputerów na Arduino. Ewentualnie na kilku połączonych. Nie wymagałem od niej zbyt wiele, byle udawała jakiś prosty komputer jak ZX Spectrum.
6502 to legendarny procesor. W latach ’80 pracował w większości komputerów domowych. Z tych bardziej znanych to Apple 2, Atari XL/XE, Commodore C64. Jak na tamte lata był dość wydajny, ale nie szybki. Jego konstrukcja była tak prosta, że doprowadzała programistów do rwania włosów z głowy.
Zdjęcie pochodzi z forum Arduino
Zdjęcie pochodzi z forum Arduino
Tym czasem Janost uzyskał na wyświetlaczu to:
Zdjęcie pochodzi z forum Arduino
To jest ekran startowy języka BASIC z Commodore C64. Litery “A” to wynik prób emulowania klawiatury.
Ostateczny wynik wygląda tak:
Nie jest to pełny emulator C64. Oprócz procesora nie emuluje żadnych innych układów. To co jest na wyświetlaczu, to wyświetlanie pamięci graficznej C64. Jednak satysfakcja z osiągnięcia takiego stanu rzeczy jest ogromna.
Sam autor rozwiązania mówi, że jest niedoskonałe ale działa. Emulator procesora nie jest napisany optymalnie i żadna sprzętowa akceleracja z kontrolera nie była użyta.
Jeśli chcesz, przyłącz się do wątku, popraw to co uważasz za stosowne i zostań jednym z kolejnych bohaterów hackingu Arduino.
Jeśli nie masz jeszcze Arduino, a chciałbyś nauczyć się robić takie rzeczy – zapraszamy na zakupy do Nettigo.
- Wątek o emulacji 6502 na forum Arduino
- Arduino UNO w sklepie Nettigo
- Arduino DUE w sklepie Nettigo
- Teensy 3.1 w sklepie Nettigo
sprae