Co to jest emulator?

Łukasz 'Luc' Sanecki

Emulator to najprościej program, który naśladuje inny komputer lub urządzenie. Takim właśnie programem można uruchomić gry czy programy z każdego innego komputera. Istnieją oczywiście emulatory do Amigi, Macintosha, Atari, ZX-Spectruma oraz wielu innych maszyn, które niegdyś miały to "coś" w sobie i są dziś po prostu wspominane.

Emulatory najczęściej tworzą zapaleńcy, którzy chcieliby móc mieć na swoim komputerze coś innego, może z sentymentu do dawnych lat. Problem w pisaniu takich programów jest ogromny, ponieważ żaden producent sprzętu nie udostępnia kodu, w jakim pracowała dana maszyna - programista musi odkryć to sam! Musi jakby stworzyć ten sam komputer od nowa, znając jedynie trochę kodu danej maszynki czy nawet mniej! Dlatego też emulator nie może w 100% naśladować przypisanego mu sprzętu. Sam fakt, że w naszym pececie słychać dźwięk z C64, widzieć te same znaki na ekranie to duże osiągnięcie i cieszmy się tym jak najwięcej.

Opis emulatora CCS64

Łukasz 'Luc' Sanecki

Emulator CCS64 jest jednym z najpopularniejszych i najczęściej używanych emulatorów komputera Commodore 64. Jest to program Shareware, więc po jakimś czasie użytkowania wypadałoby podesłać autorowi troszkę pieniędzy za jego pracę nad tym programem. Obecnie CCS64 uważany jest przez większość ludzi za najlepszy emulator C64. Minimalne wymagania programu są niskie w porównaniu na przykład do emulatora VICE.

Wersja 1.0 Emulatora

Po uruchomieniu emulatora ekran powinien wyglądać tak jak na obrazku wyżej. Program pracuje zgodnie z klawiaturą Commodore 64, czyli 66 klawiszy, w tym 4 funkcyjne (a właściwie 8 na klawiaturze peceta) - od F1 do F8. Po uruchomieniu programu dostępne są następujące komendy programu:


F9

Przejście do menu głównego emulatora

Pause

Natychmiastowe zakończenie pracy emulatora

F10

Zapisanie aktualnego ekranu do katalogu emulatora (256 kolorów)

F11

Powraca do zfreezowanej części programu

F12

Freezer

Print Screen

Zapisuje aktualny ekran do katalogu emulatora jako zdjęcie BMP

Scroll Lock

Ponowna inicjalizacja kolorów ekranu

Lewy Ctrl

Klawisz "Commodore"

Escape

Klawisz "Run/Stop"

Delete

Klawisz "strzałka w górę" / "up arrow"

Insert

Klawisz "znak funta" / "funt"

Home

Klawisz "Clr home" - wyczyszczenie ekranu Basica

Page Up

Klawisz "Restore" - służy do wznawiania niektórych akcji... (?)

Przejdźmy teraz do menu głównego emulatora, więc naciskamy klawisz F9 na naszej klawiaturze, po czym pojawia się nam ekran jaki widać obok. I tu mamy do wyboru:

Continue - powrót do Basica/danego programu.
Load program - wgranie programu.
Reset C64 (Hard) - całkowite zresetowanie pamięci komodorka (działa tak jak byśmy wyłączyli i ponownie włączyli komputer).
Reset C64 (Soft) - zresetowanie komputera, ale szybkie. Działa jak przycisk reset w cartridge'u.
Cartridge (CCSMON) OFF/ON - wyłącznie/włączenie kartridża w formie monitora (asemblera).
Options - Opcje, omówione dalej.
Quit CCS64 - wyjście do systemu, koniec programu.
Machine code monitor - monitor (asembler) emulatora.

Wersja 2.0 Emulatora

Po uruchomieniu emulatora ekran powinien przedstawiać Basic'a. Wciskamy klawisz F9 i od razu przechodzimy do menu. Odpowiednio do wyboru mamy opcje:

1541 Device 8...
Czyli wgranie programu z urządzenia o numerze 8 (domyślnie stacja dysków - stąd najczęściej będziemy ładować programy)
1541 Device 9, 10, 11...
Można także załadować programy z urządzeń o innych numerach, jeśli np. mamy dwie stacje dysków.
Tape Device 1...
Wczytanie programu z kasety.
Printer Dev. 4-7...
Opcje do wykorzystania przy drukarkach.
Cartridge...
Wchodząc do tego menu możemy załadować odpowiedni kartridż do naszej pamięci. Więcej o tym w zakładce instalowanie kartridża w emulatorze.
Special...
Dodatkowe gadżety emulatora. Można włączyć sobie np. podląd szybkości naszego komcia i inne dodatki. Więcej w dalszej części opisu.
State...
Służy do wgrania zapisanej wcześniej przy pomocy emulatora (Freeze - Ctrl+F) stanu gry. Można tam także ów stan zapisać na dysk. Podobna funkcja jak w Final Cartridge czy Action Replay.
Machine code monitor...
...czyli zwykły monitor asemblera.
Reset C64...
Bez komentarza.
Options, Quit CCS64, Continue...
Odpowiednio Opcje (opisane w tym artykule), wyjście z emulatora, powrót do Basica/programu.

Ładowanie programów

Aby załadować program, należy po włączeniu emulatora nacisnąć klawisz F9, aby przejść do menu głównego, najechać na opcję 1541 Device 8.... Powinien pojawić się katalog. Przypuszczalnie chcemy uruchomić demo. Jeśli je już mamy na dysku, musimy je teraz znaleźć w naszych napędach (przykładowo plik zapisaliśmy w c:\c64\demo.d64). Gdy już widzimy obraz dyskietki (2NDREAL1.D64, jak na screenie obok), naciskamy Enter i powinien pokazać się katalog strony dysku (bo właśnie do niego weszliśmy). Wybieramy plik główny katalogu i naciskamy ponownie Enter. Nastąpi reset i program się automatycznie uruchomi.

Zmiana strony dysku

...a po jakimś czasie oglądania dema czy dłuższej gry, spotyka nas niemiła niespodzianka: na ekranie widnieje napis: "Please insert side 2", czyli musimy "włożyć" drugą stronę dyskietki. Jak to zrobić? To w sumie proste. Na przykładzie naszego demka (które zajmuje dwie strony). Gdy widnieje napis naciskamy F9 i wchodzimy do menu 1541 Device 8..., szukamy katalogu z naszym demem (2NDREAL1 i 2NDREAL2). Jak może ktoś zauważył, są to dwa pliki i każdy to jedna strona. Wybieramy więc 2NDREAL2 i naciskamy Enter. Powinniśmy się znaleźć w środku katalogu. Wciskamy F3 lub S (jak Select disk). Napis po chwili sam zniknie, a demo "poleci" dalej. Wszystko!

Uwaga! W niektórych przypadkach po zmianie strony i powrocie do dema należy dodatkowo wcisnąć spację/return w ramach potwierdzenia!

Instalacja kartridża w emulatorze

W wersji 2.0 emulatora CCS64 udostępniono możliwość instalowania (na stałe lub nie) kartridży do C64 takich jak Final, Action Replay i dowolnie wielu innych... Dzięki takiemu programowi przede wszystkim "wirtualna" stacja dostaje kopa (przyspieszenia nawet 20-krotnego), przez co wszystko będzie się szybciej ładowało (oczywiście jeśli będziemy wszystkie programy ładować tradycyjną metodą, nie przez emulator). Uprzedzam jednak, że nie jest konieczne posiadanie czegoś takiego w emulatorze, bo program w nim ładuje się do pamięci od razu. Oczywiście oprócz przyspieszenia stacji/magnetofonu ma też wiele innych opcji, o których można dowiedzieć się w opisach indywidualnych cart'ów. Aby zainstalować kartridż, należy najpierw poszukać interesującą nas wersję (wiele kartridży znajduje się w dziale Pliki a także w opisach w dziale Sprzęt). Po zdobyciu pliku:

1.Uruchamiamy emulator CCS64
2.Wybieramy opcję Cartridges.
3.Wybieramy pierwszą opcję [Insert Cartridge+Enter] i szukamy katalogu, na którym jest nasz kartridż. Gdy go znajdziemy, wciskamy klawisz Enter.
4. Pojawia sie ekran (po automatycznym resecie) powitalny kartridza.

Uwaga! Aby kartridż uruchamiał się automatycznie po każdym włączeniu emulatora, należy (z wgranym już kartridżem, np. Final) wyjść z emulatora. Po ponownym uruchomieniu zamiast Basic'a 2.0 witał nas będzie Ekran Startowy wybranego Kartridża.

Tworzenie nowego dysku .d64

Aby móc coś w ogóle zapisać, najpierw należy stworzyć czysty dysk, który będzie miał 664 bloki wolne (na dysku PC zajmuje 170 KB). Aby to zrobić, uruchamiamy emulator CCS64, wciskamy F9 i przechodzimy do menu 1541 DEVICE 8... , by później po wejściu zjechać kursorem w dowolnym katalogu na sam dół (jak na screenie obok). Na dole ekranu pojawią się wtedy dwie opcje wyboru: F1-Create new D64 oraz F2-Create new G41. Wybieramy to pierwsze, czyli wciskamy F1. Komputer poprosi teraz o podanie nazwy dysku (do 16 znaków). Potwierdzamy Enterem i dysk gotowy.

Zapis danych na dysk

Chcemy teraz coś zapisać na naszą dyskietkę. Przypuśćmy, że będzie to jakiś programik napisany w Basic'u. Stwórzmy go może na początek sami, aby przetestować dysk, czy się faktycznie "utworzył". Z menu emulatora szukamy katalogu, w którym go utworzyliśmy, najeżdżamy na niego i wciskamy klawisz S (Select Disk - wybierz dysk). Przejdziemy do Basica. Zobaczmy, czy dysk jest czysty, listując katalog. Wpiszmy zatem:

LOAD"$",8

Potwierdzając Enterem. Po wgraniu katalogu wpisujemy LIST, po czym pojawia się nam czysty jeszcze katalog. Teraz chcąc zapisać np. mały programik w Basic'u, możemy go najpierw napisać:

1 PRINT"DYSK DZIALA!"
2 GOTO1

Teraz zapiszmy ten program, wpisując z Basic'a polecenie SAVE"TEST",8. Potwierdzamy Enterem i za kilka sekund program jest zapisany. Sprawdźmy jeszcze raz katalog, wpisując LOAD"$",8. Jeśli program został zapisany, wszystko jest OK.

Opcje emulatora CCS64

Po wybraniu z menu "Options", pokazuje nam się ekranik, gdzie do wyboru mamy następujące pozycje:

Screen Mode - wybór rozdzielczości. Commodore 64 normalnie pracuje w rozdzielczości 320x200. W emulatorze polecam wybrać 400x300 - w miarę pełny ekran, choć oczywiście każdy może mieć inne zdanie.
Joystick - tam możemy uregulować wszystko co dotyczy joy'a, bo nim też można grać na komodiuszu!
Joystick calibration - przed ustawianiem joy'a najlepiej go dodatkowo skalibrować.
C1541 ON/OFF - włączenie lub wyłączenie emulacji stacji komodorka.
Save current disk - zapisanie danej strony dysku.
Speed 100% - mi tej opcji nie udało się regulować. Służy do spowalniania lub przyspieszania tempa pracy emulatora.
1. Alt+F3 powoduje zwiększenie prędkości do 500%, ponowne wciśnięcie tych klawiszy przywraca normalną prędkość.
2. Po zwiększeniu prędkości w ustawieniach należy nacisnąć klawisz Enter (wystarczy pierwszy sposób).
Create empty disk - utworzenie pustego dysku, katalogu. Opis w artykule.
Sound sampling START/STOP - zapisanie dźwięku z emulatora w formie pliku .wav.

To tyle z opisu emulatora CCS64. Najlepsza droga to samodzielne poznanie emulatora jak i całego komodorka! Nie opisałem żadnych poleceń Basica, bo to już Wasza działka. Być może będzie jakiś art o tym? Podobnie nie opisałem też poleceń monitora (asemblera). To tyle. Więcej w samym pliku pomocy w katalogu emulatora!

Klawiaturze w emulatorze CCS64

Powiększ

Uruchamianie plików .g64

Pliki z rozszerzeniem .g64 to specyficzne pliki. Nie są to bowiem image'y standardowych dyskietek do C64 (35 ścieżek), ale wersja, która wykorzystuje 7 pozostałych "nielegalnych" ścieżek dysku - czyli do 42 włącznie. Niektóre emulatory niestety nie obsługują plików .g64. Na szczęście wersja 2.0 CCS64 radzi sobie już z tym rodzajem plików i potrafi je normalnie odczytywać. Jeżeli więc nie posiadasz wersji 2.0 emulatora - koniecznie się w nią zaopatrz!

Kalibracja/Konfigurowanie Joystick'a

Pytania w tej sprawie pojawiały się dość często, tak więc postanowiłem rozjaśnić ten temat. Osoby nie potrafią poprawnie skonfigurować emulatora tak, by działał on z naszym PC-towym joystickiem. Osobiście zaznaczam, że używam gamepad'a i na nim działają wszystkie gry, jednak przy niektórych modelach joy'ów mogą występować problemy w poprawnym działaniu.
Po włączeniu emulatora wciskamy klawisz F9 (przechodzimy do menu), gdzie wybieramy Options. Dalej przechodzimy do Input... (na screenie drugim). Ta opcja pozwala właśnie na poprawne skonfigurowanie naszego przyrządu sterowniczego. Kolejny ekran przedstawi nam się w opcjach: Control Port 1 i 2 (pozwalają ustawić joy'e lub klawiaturę do portu nr 1 lub nr 2), Switch Control Ports (wymienia porty na odwrotną stronę), Calibrate Joysticks (konfigurowanie joy'a, o czym już poniżej) oraz Define Joystick Keyset (przyporządkowanie klawiszy do ruchów joy'sticka) i Define Joystick Special (kilka dodatkowych funkcji...). Tutaj skupię się na dwóch podstawowych opcjach:

Pierwszą z nich będzie oczywiście najważniejsza, Calibrate Joysticks. Wejdźmy tam, a ujrzymy panel konfiguracyjny, prawdopodobnie ruszający się kursor (krzyżyk) oznaczający, że joy jeszcze nie został poprawnie ustawiony. Przy odrobinie szczęścia za chwilę będzie stał w miejscu. Na początek wyresetuj ustawienia (opcja Reset). Weźmy zatem teraz naszego gamepada/joy'a i pokierujmy nim (w PORCIE 2, jeśli tak ustawiliście) we wszystkie kierunki, tak - aby krzyżyk nie drżał i po zakończeniu stał w miejscu. Wciśnijcie także każdy klawisz - tester w emulatorze powinien wyczuwać potrzebne do gry na C64 klawisze. Powinno wszystko już być OK. Jeśli nie zaobserwowaliście żadnych ruchów na ekranie - kursor się wcale nie poruszał przy kierowaniu joy'a w boki - to gorzej. Może to być wina źle ustawionego wcześniej portu lub urządzenia do sterowania. Warto popróbować wszystkich możliwych rozwiązań. Natomiast przy pozytywnym ustawieniu możecie teraz wgrać swoją ulubioną grę i po prostu sterować tym, czym chcieliście! Uwaga: czasami sterowanie odbywa się przez PORT 1, a nie drugi. Warto zwrócić na to uwagę.

Teraz przedstawię drugi problem, czyli Define Joystick Keyset. Ja osobiście korzystam z tej możliwości sterowania, właśnie poprzez klawiaturę. Po przejściu na ekran obok możemy swobodnie skonfigurować klawiaturę tak, by udawała joy'stick zarówno w porcie 1 jak i 2 (Joystick Keyset - tu ustawiamy 1 lub 2 port). Najlepiej skonfigurować wszystko, gdyż jak wcześniej wspomniałem - niekiedy trzeba korzystać z pierwszego portu, niekiedy z drugiego. Cóż tu więcej pisać? Macie problemy, ciągle się nie udaje - piszcie. Ja jednak już dodam, że gdy ta pomoc nie pomogła, Wasz joy'stick może po prostu nie współpracować z emulatorem CCS64...

 © 1999-2020 Wszystkie prawa zastrzeżone
 Webmaster: Mariusz "Flooder" Młynek