ZX Spectrum > EMULATORY

Integracja między emulatorami i systemem

<< < (3/4) > >>

Abrimaal:
Potrzeba jest... wynalazku chyba jeszcze nie ma.

W jakim emulatorze mogę dokonać takiego cudu:

Potrzebuję zapisać kilkadziesiąt screenów wygenerowanych przez ZX Spectrum.
Każdy screen jest inny, a jego kompozycja bazuje na podanej zmiennej A$

Nazwa zmiennej A$ ma być jednocześnie nazwą zapisanego pliku w formacie .png lub .bmp


Podobny temat poruszyłem na facebook, w grupie ZesarUX, emulatora.
Dostałem dwie odpowiedzi:
esxdos i ZXI

Nie znam tych wynalazków. Zapoznałem się z informacjami na stronach, ale i tak nie wiem,

Czy to są karty rozszerzenia funkcjonalności realnego ZX?
Czy pluginy dla emulatorów?
Czy za pomocą nich mogę przesyłać dane między emulowanym ZX, emulatorem i głównym systemem?

Dołączam 2 screeny z dyskusji.


steev:
Czy to jest do wykonania jednorazowo, czy jest to coś co chcesz wykonywać cały czas regularnie?
Lub wręcz to ma być funkcjonalność jakiegoś programu/systemu?

Abrimaal:
Ogólnie funkcjonalność systemów, komunikacja między nimi.
Tutaj emulowany system ZX jest najsłabszy, więc przez port OUT / IN przekazuje komendy i dane do emulatora. W tym przypadku, że emulator ma zapisać screenshot o nazwie pliku przesłanej przez ZX.
Emulator cały czas śledzi port i wykonuje polecenia przesłane przez ZX. Zacznijmy od tych najprostszych.

Program na ZX "mówi" do emulatora:
Zapisz screen o nazwie (tu ciąg znaków, a dokładniej ich kody)

Podaj mi dysk part2.trd (nazwa też przesłana jako kody ASCII). Sama nazwa bez ścieżki mówi, że part2 znajduje się w ostatnio otwartym przez emulator folderze.
ZX może oczywiście zmienić ją, gdy poda mu levels\level12.tap lub http://speccy.pl/intro.tzx

Przesyłam Ci ciąg liczb, podaj go dalej do calc.exe, bo mi by to zajęło godziny. Niech calc wykona wszystkie obliczenia. Odczytaj wynik i podaj mi.

Podaj mi aktualną datę i czas, ja (ZX) odczytam ją z portu IN

Prześlij mój RAM od 16384 do 65535 do programu hexplorer.exe, w nim użytkownik szybciej znajdzie sane, których szuka.

I tak można, a nawet trzeba iść dalej, pod warunkiem że każdy inny program także komunikuje się z otoczeniem, zapisując dane wyników do plików .txt, .log .bin czy innych,  gdyby ZX potrzebował powiedzmy...
Zmienną A$ przesłaną do systemowego syntezatora mowy, zapisaną jako 1-bitowy sample, przesłany przez emulator do ZX RAM pod adres 32768.

Ile razy zdarzyło nam się otworzyć stronę internetową na smartfonie i chcemy otworzyć ją natychmiast na naszym PC, bez wysyłania linku mailem, przez Messenger czy inny Dropbox. Widzimy w menu "open desktop site" i czekamy na otwarcie jej na ekranie PC, a nie wersji desktopowej strony na smartfonie.

Czy też włączamy video na smartfonie i "graj to przez mój sprzęt HiFi, nie przez swój ekranik i głośniczek"...
Na tym polegać ma taka integracja w jednej sieci jednego użytkownika, który jest zawsze zalogowany na wszystkich swoich urządzeniach i systemach i nigdy więcej poza pierwszym razem nie jest pytany o login, hasło, pin, bo komputer "zapomniał" jak się nazywa jego admin.

A tymczasem taki Windows 10 z 2020 ma nawet problem z zapamiętaniem, żeby program do oglądania video otwierał zawsze na ekranie TV, chyba że jest on wyłączony. Wtedy jednorazowo otwórz video na monitorze i wróć do TV następnym razem.

steev:
OK. Czyli technicznie mówiąc, chcesz dodać do emulatora wirtualny interface dla ZX Spectrum, do którego mogą się odwoływać programy działające na ZX (w basicu bądź assemblerze) a który to 'interface' będzie tak naprawdę serwerem usług.

Gelip:
Może komunikacja przez port szeregowy np. przez ZX Interface 1? Przez port COM można wysyłać/odbierać różne dane pomiędzy emulatorem a PC, między dwoma emulatorami lub między emulatorem a prawdziwym ZX Spectrum. Ja bawiłem się w komunikację między emulatorem a systemem Windows - chat (przesyłanie tekstu) - ZX Chat
Przez port RS232 można przesyłać też dane binarne - wystarczy zmienić kanał z "t" na "b" - szczegóły od strony 35 w dokumentacji ZX Interface 1: ZXInterface1_Microdrive_Manual.pdf lub https://worldofspectrum.org/archive/books/microdrive-and-interface-1-manual#36

Nawigacja

[0] Indeks wiadomości

[#] Następna strona

[*] Poprzednia strona

Idź do wersji pełnej