atarionline.pl szukam programow do przetestowania symulatora 65816 - Forum Atarum

    Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

    • :
    • :

    Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

      • 1: CommentAuthorgregor2
      • CommentTime5 Oct 2024 20:10
       
      Wiem, że temat nie do końca związany z Atari, ale jest tu z pewnością kilka osób, które spotkały się z procesorem 65816, więc pozwolę sobie zapytać.
      Napisałem symulator tego procesora. Piszę "symulator", bo choć docelowo jest (lub przynajmniej taki jest cel) programowo zgodny z 65816 (symuluje też błędy tego procesora), to nie jest zgodny jeśli chodzi o zgodność cykli. Ale do rzeczy. Układ działa na STM32H750, takim jak ten:
      ->link<-
      .
      A teraz w związku z testami poszukuję odpowiedniego oprogramowania, które pozwoliłoby wykryć ewentualne błędy. Chodzi też o programy, dzięki którym mógłbym określić jaką wydajność ma ten symulator.
      Na razie sprawdziłem ten w wersji full z dodatkowymi testami arytmetyki BCD:
      ->link<-
      Układ przechodzi cały, nie wykrywając błędów symulacji.
      Jeśli ktoś zna podobne testy, to proszę o info.
      • 2: CommentAuthorgregor2
      • CommentTime5 Nov 2024 12:11
       
      Układ wciąż jest rozwijany, w tej chwili może współpracować ze wszystkim, co obsługuje konsolę VT-100 (czyli w praktyce port szeregowy, ekran i klawiaturę). Aktualnie pracuję nad dodaniem emulacji i8080 (z80) oraz systemem dla wykonywania programów w kodzie natywnym ARM-Cortex, a kolejnym etapem będzie dołączenie współpracy z magistralami komputerów 8-bit.
      Jeśli ktoś jest zainteresowany, to więcej info tutaj:
      ->link<-
      • 3:
         
        CommentAuthorpancio
      • CommentTime7 Nov 2024 06:11
       
      Jestem zainteresowany wynikami.Sam robię podobny projekcik ale na RISC-V. Oczywiście na miarę wolnego czasu. Publikujesz gdzieś swoje rozwiązanie?
      • 4: CommentAuthorgregor2
      • CommentTime7 Nov 2024 14:11 zmieniony
       
      Na razie jeszcze nie publikuję. W sumie rozwijam to, aby dla mojego Apple II i chcę zrobić coś w rodzaju akceleratora mogącego wykonywać kod 65816, i8080 (choć pewnie rozszerzę go na z80) i oczywiście natywny ARM Cortex7. Chcę, aby każdy emulowany core miał bezpośredni dostęp do hardwaru, ale też aby drive'y nie wykorzystywały RAM, tak że cały RAM jest dostępny dla emulowanych procesorów i widziany przez nie w taki identyczny sposób jak w oryginale, czyli RAM zaczyna się od $0000 i kończy zależnie od banku np. w stm32h750 na $7FFFF. Jeśli pojawi się np. układ z większym RAM lub np. z zewnętrznym, to będzie można go też uruchomić z dostępem do większej ilości RAM. W tej chwili zrobiłem już emulację 65816 i w zasadzie jestem na etapie jej testowania. I mam ok. 50% emulacji i8080. Z hardware mam sterowniki do obsługi portów szeregowych, w razie potrzeby można ich dodać nawet kilka, taktowania CPU i portów równoległych. W dalszej kolejności chcę ukończyć i8080 i uruchomić RTC. A potem być może USB. Myślałem też o uruchomieniu na innych platformach niż Apple. Wczoraj udało mi się uruchomić monitor systemowy dla 65816, miałem z nim trochę problemów, bo okazało się, że w kodzie źródłowym (nie moim) był błąd. W każdym razie udało się go zlokalizować i teraz już działa.
      • 5:
         
        CommentAuthorCyprian
      • CommentTime7 Nov 2024 16:11
       
      Fajny projekt.
      Czy skoro będzie można włożyć do Apple to może też do Atari też da radę?
      • 6: CommentAuthorgregor2
      • CommentTime7 Nov 2024 19:11
       
      Pewnie by się dało, tyle że w przypadku Apple, czy nawet C64, istnieje możliwość odłączenia CPU i przejęcia magistrali co daje bezposredni dostep do pamieci i I/O. Dodatkowo istnieje jeden standard gniazd do tego, gdzie w Atari byłby problem. W każdym razie na pewno można by podłączyć się przez port szeregowy, czy nawet joysticka, gdzie Atari działałoby jako terminal. No chyba że od razu Atari 2600 ;)
      W każdym razie temat mógłby być ciekawy ;)