Let's Emu!

From Atariki

Revision as of 22:01, 28 cze 2015; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

Grafika:letsemu.png

Eksperymentalny emulator komputera Sinclair ZX Spectrum dla Atari wyposażonego w procesor 65C816. Autorem jest KMK.

Spis treści

Wymagania sprzętowe

  • procesor 65C816
  • dodatkowa pamięć liniowa o rozmiarze co najmniej 448k
  • DracOS (ze względu na funkcje zarządzania pamięcią liniową)

Joysticki Atari działają jako joysticki Kempston lub Sinclair. Wybór pomiędzy jednym a drugim systemem jest automatyczny, tj. pierwsze odwołanie do portu I/O joysticka Kempston wyłącza emulację joysticków Sinclair.

Zalecana konfiguracja sprzętowa

Program został napisany dla karty Rapidus, ale nie jest ona niezbędnie konieczna do jego działania: Let's Emu można np. uruchomić pod emulatorem Altirra (niemniej po wykryciu karty Rapidus wykorzystywane są jej niektóre specyficzne możliwości).

Bez VBXE brak jest atrybutów koloru ZX Spectrum. Układ PSG znajdujący się w Evie lub SONari jest pod emulatorem widoczny jako przystawka z układem AY-3-8910.

SpartaDOS X pozwala zarejestrować program jako "przeglądarkę" do plików (tzw. snapszotów) zawierających programy na ZX Spectrum.

Kompatybilność

Program emuluje podstawowy model ZX Spectrum, tj. ZX Spectrum 48k. Procesor Z80 i w ogóle cała maszyna emulowana jest dość wiernie, za wyjątkiem dwóch rzeczy:

  • nie jest dokładnie emulowany rejestr R procesora
  • czas wykonywania poszczególnych rozkazów emulowanego Z80 ma niewiele wspólnego z tymże czasem na "prawdziwym" CPU: emulator wykonuje rozkazy tak szybko, jak potrafi, ale nie zachowuje np. ich wzajemnych zależności czasowych

To ostatnie powoduje słyszalne kłopoty w przypadku np. gier odtwarzających muzykę na beeperze, w której długości i częstotliwości nut mierzone są przez pętle opóźniające.

Obsługiwane formaty plików

Emulator umie załadować programy w następujących formatach:

  • plik ROM: "kartridż" o wielkości 16k zastępujący oryginalny ROM ZX Spectrum
  • plik SNA: nieskompresowany zrzut 48k pamięci
  • plik Z80: skompresowany zrzut 48k pamięci (obsługiwane są wersje formatu 1.0, 2.0 i 3.0)

Bieżącą zawartość pamięci emulatora można też zapisać do pliku w formacie Z80.

Klawiszologia

Program obsługiwany jest z menu widocznego na obrazku. Poza tym do dyspozycji są klawisze konsoli:

  • START przerywa emulację i powoduje powrót do menu (lub do DOS-u, jeśli program uruchomiono w trybie "automatycznym", tzn. z parametrem /A w wierszu poleceń)
  • SELECT odpowiada klawiszowi Symbol Shift na klawiaturze ZX Spectrum
  • OPTION powoduje odwrócenie kolorów INK i PAPER (tylko wtedy, kiedy VBXE jest nieaktywne)
  • HELP wyświetla ściągę z układem klawiatury ZX Spectrum

Ciekawostki

Program napisano na Atari, początkowo z kartą F7 (10 MHz), potem z rozszerzeniem SIMMius 4 MB, na końcu z kartą Rapidus. Wykorzystano MAE jako edytor, a kod źródłowy został zasemblowany (nieopublikowanym) asemblerem N16 autorstwa KMK. Cały proces kompilacji Let's Emu wymaga też SpartaDOS X w wersji co najmniej 4.47.

Przykładowe gry

Grafika:Letsemu_3weeks1.png Grafika:Letsemu_3weeks2.png Grafika:Letsemu_knightlore.png Grafika:Letsemu_rick.png

Snapszoty zrzucono z emulatora Altirra.

Personal tools