Autor Wątek: jak wpisywać POKE w grach na prawdziwym Spectrum  (Przeczytany 17962 razy)

tooloud

  • *****
  • Wiadomości: 3185
  • Miejsce pobytu:
    Warszawa
  • mydłem go!
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #15 dnia: 2017.11.11, 22:34:25 »
może wklej tekst loadera, bo inaczej to musimy albo zgadywać co jest wcześniej :)
dużo sprzętu mało czasu.

Maryjan

  • *****
  • Wiadomości: 6650
  • Miejsce pobytu:
    Skarżysko-Kam.
  • Scotch whiskey and West Highland Terrier
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #16 dnia: 2017.11.11, 22:54:02 »
Ogólnie, jak loader był w BASIC-u i odbezpieczony, POKE wpisywało się PRZED ostatnim RANDOMIZE USR xxxxx.
Często było tak, że było kilka poleceń RANDOMIZE USR xxxxx. Pierwsze rozpakowało dane do pamięci ZX-a, zaś drugie, skakało pod adres startu gry.

Ale czasami to nie działa, bo gry są albo oryginalne, z własnymi loaderami w kodzie maszynowym, albo pocięte maszynkami typu MF 1/128.
Istnieje jeszcze pojęcie "bajtów bez nagłówka" ale to na później.
"Co miałem powiedzieć - przeczytałem..." Nikodem Dyzma

ediman

  • **
  • Wiadomości: 66
  • Miejsce pobytu:
    Poznań
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #17 dnia: 2017.11.12, 12:02:30 »
może wklej tekst loadera, bo inaczej to musimy albo zgadywać co jest wcześniej :)

przesyłam teks loadera
https://www.dropbox.com/s/hgpkfdh3jcm90q1/loader.JPG?dl=0

Phonex

  • *****
  • Wiadomości: 1260
  • Miejsce pobytu:
    Warszawa
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #18 dnia: 2017.11.12, 13:30:01 »
Nie da się w łatwy sposób wpisać POKE do tego loadera.
Loader basicowy ładuje krótki loader w asemblerze, który robi całą robotę i do BASICa już nie wraca. Myślałem że w minutę osiem da się go zmodyfikować żeby wrócił na chwilę do BASICa, ale nic z tego, bo końcowe uruchomienie sobie przywraca (!) a w trakcie też coś kombinuje (sprawdza całość?) bo zmiana powoduje reset.

Drugi klasyczny sposób, czyli użycie COPY COPY też odpada, bo pliki mają lekkie turbo, jeśli to jest plik .tzx
Na WOS mają też plik .tap, który jest w normalnej prędkości i mógłby się dać załadować do COPY COPY, ale autor go złośliwie wydłużył i nie zmieści się ("ładuje się" do ROM i chyba nawet na ekran).

Nie mam więcej czasu, może ktoś kontynuuje?
Można by np. skrócić główny blok i zmienić długość w loaderze - wtedy sposób z COPY COPY by zadziałał, lub po prostu wpisać POKE w odpowiednie miejsce.

Ach! Przypomniał mi się jeszcze jeden sposób: wpisanie POKE na stałe do głównego (najdłuższego) bloku za pomocą ZX Blockeditor (do dowolnej wersji). Ten sposób jest chyba najprostszy! Główny blok ma długość 57408 i ładuje się od 27392. Trzeba tylko przeliczyć sobie gdzie wpisać.
Czemu nie pomyślałem o nim wcześniej? Na usprawiedliwienie powiem, że nigdy wcześniej nie wpisywałem POKEów :o Chyba tylko jedną wersję dyskową zrobiłem z wyborem POKE.

ediman

  • **
  • Wiadomości: 66
  • Miejsce pobytu:
    Poznań
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #19 dnia: 2017.11.12, 18:34:32 »

ZX Freeq

  • *****
  • Wiadomości: 1833
  • Miejsce pobytu:
    Warszawa
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #20 dnia: 2017.11.13, 08:41:58 »
Tu się wszystko dzieje w języku maszynowym. Trzeba przeanalizować zawartość pamięci i jeśli jest miejsce, to rozbudować loader w ASMie. Jeśli dobrze pamiętam, 3 tygodnie w raju zajmują prawie 100% pamięci ZX Spectrum.
ZX80|ZX81+16kB+PandAY|ZX 48k/+/128k+/+2/+2A/+3/Vega/Next|QL+QIDE|JS128|Timex 2048+2040|UK2086|FDD3000+3.5''|AY|ZX HD|Divide2k11/2k14|DivMMC/PicoDivSD|BetaDisk 128|Opus|Masakrator FM|If 1/2/Microdrv|Multiface 1|+2A\B SDI-1|SJS 1/2|ZX Printer|TZXDuino|+3 HxC USB|ZXUno|Omni
Z88|A500/600|PC200|Ent128

tooloud

  • *****
  • Wiadomości: 3185
  • Miejsce pobytu:
    Warszawa
  • mydłem go!
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #21 dnia: 2017.11.13, 09:22:15 »
tak długie pliki to najprościej "na Spectrum" edytować na dyskietce czy innym nośniku pozwalajacym na podgląd pliku bez konieczności ładowania całego do pamięci, w sumie to dotyczy każdego systemu 8bitowego. Reasumując - mając do dyspozycji tylko Spectrumy to zrobiłbym to właśnie tak. Nie mając stacji dysków do Spectrum jesteśmy trochę w kropce - jeżeli nie jakiś Multiface to przy tak długich plikach jest sytuacja patowa.

[cały czas przy założeniu, że robimy to na realnym Spectrum a nie na emulatorze]
dużo sprzętu mało czasu.

Gryzor

  • *****
  • Wiadomości: 2009
  • Miejsce pobytu:
    Warszawa
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #22 dnia: 2017.11.13, 09:33:45 »
Mozna chyba bez POKE:

CHEATS
POKE 36739,X where X is the number of lives you'd like.
When on the ropes, press C, H, E, A and T for infinite lives.

ZX Freeq

  • *****
  • Wiadomości: 1833
  • Miejsce pobytu:
    Warszawa
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #23 dnia: 2017.11.13, 10:19:48 »
Nie mając stacji dysków do Spectrum jesteśmy trochę w kropce - jeżeli nie jakiś Multiface to przy tak długich plikach jest sytuacja patowa.

Dla cierpliwych, można pobawić się monitorkiem, działającym w pamięci ekranu. (na przykład foxmon) :)
ZX80|ZX81+16kB+PandAY|ZX 48k/+/128k+/+2/+2A/+3/Vega/Next|QL+QIDE|JS128|Timex 2048+2040|UK2086|FDD3000+3.5''|AY|ZX HD|Divide2k11/2k14|DivMMC/PicoDivSD|BetaDisk 128|Opus|Masakrator FM|If 1/2/Microdrv|Multiface 1|+2A\B SDI-1|SJS 1/2|ZX Printer|TZXDuino|+3 HxC USB|ZXUno|Omni
Z88|A500/600|PC200|Ent128

tooloud

  • *****
  • Wiadomości: 3185
  • Miejsce pobytu:
    Warszawa
  • mydłem go!
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #24 dnia: 2017.11.13, 10:54:40 »
zamiotłeś temat - tym da się na 100% to zrobić :)

http://www.speccy.pl/archive/prod.php?id=403
dużo sprzętu mało czasu.

Phonex

  • *****
  • Wiadomości: 1260
  • Miejsce pobytu:
    Warszawa
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #25 dnia: 2017.11.13, 11:14:29 »
tak długie pliki to najprościej "na Spectrum" edytować na dyskietce czy innym nośniku pozwalajacym na podgląd pliku bez konieczności ładowania całego do pamięci, w sumie to dotyczy każdego systemu 8bitowego. Reasumując - mając do dyspozycji tylko Spectrumy to zrobiłbym to właśnie tak. Nie mając stacji dysków do Spectrum jesteśmy trochę w kropce - jeżeli nie jakiś Multiface to przy tak długich plikach jest sytuacja patowa.

[cały czas przy założeniu, że robimy to na realnym Spectrum a nie na emulatorze]

Ale gra jest z WoS, więc jest chwilowo na pececie :)
I wtedy można użyć ZX Blockeditor (też jest na WoS). Podglądając loader widać LD IX,27392, czyli najdłuższy blok ładuje się od adresu 27392. Chcąc wpisać POKE pod adres 50027, trzeba otworzyć plik i w trzecim (najdłuższym) bloku zmienić bajt o numerze 22635 (50027-27392).

zamiotłeś temat - tym da się na 100% to zrobić :)

http://www.speccy.pl/archive/prod.php?id=403

Wtedy kiedy ja działałem, jeszcze tego nie było ;) Wtedy królował MAD, który zdeklasował MONSa, bo był trzy razy krótszy i siedział w pamięci ekranu :D http://www.speccy.pl/archive/prod.php?id=263

tooloud

  • *****
  • Wiadomości: 3185
  • Miejsce pobytu:
    Warszawa
  • mydłem go!
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #26 dnia: 2017.11.13, 11:26:30 »
Phonex, tak, ale autor wątku chciał to zrobić wszystko na ZX Spectrum :) nie w emulatorze :)
dużo sprzętu mało czasu.

Phonex

  • *****
  • Wiadomości: 1260
  • Miejsce pobytu:
    Warszawa
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #27 dnia: 2017.11.13, 11:32:55 »
A plik z WoS też sciągnął używając ZX Spectrum???
A ZX Blockeditor nie wymaga użycia emulatora :P

pear

  • *****
  • Wiadomości: 5509
  • Miejsce pobytu:
    Będzin
  • Z80 only
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #28 dnia: 2017.11.13, 11:35:54 »
ZX Blockeditor nie uruchamia się na moim ZX Spectrum.
Jestem w kropce. Pomóżcie.
Pozdrawiam
Janusz


:D :P
Myślę, że każdy ma własną granicę, do kiedy to ma być nauka, czy zabawa, a odkąd zaczyna się walka z materią i czy warto.
ZX/Enterprise/CPC/Robotron/C128D

tooloud

  • *****
  • Wiadomości: 3185
  • Miejsce pobytu:
    Warszawa
  • mydłem go!
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #29 dnia: 2017.11.13, 11:39:38 »
A plik z WoS też sciągnął używając ZX Spectrum???
A ZX Blockeditor nie wymaga użycia emulatora :P

myślałem, że chodzi o wyzwanie zrobienia tego na prawdziwym kompie, nie na emulatorach i programach na pececie :)
dużo sprzętu mało czasu.