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

RafalM

  • *****
  • Wiadomości: 1133
  • Miejsce pobytu:
    Sulejówek
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #30 dnia: 2017.11.13, 11:48:00 »
Tak dla uzupełnienia tematu dodam że jeszcze jedną opcją dodania cheata jest napisanie od zera własnego loadera który zastąpi oryginalny.

W latach 80-tych w Wielkiej Brytanii było to dość popularne. Czasopisma publikowały kod w Basicu który należało nagrać na taśmę zastępując oryginalny loader. Oczywiście działało to z oficjalnym wydaniem gry, nie zadziałałoby raczej z wersją od Billa Gilberta ;)

Tutaj przykład dla Robocopa, na samym dole strony:
http://www.the-tipshop.co.uk/cgi-bin/info.pl?name=RoboCop

Wklepanie tego było do ogarnięcia dla przeciętnego nastolatka nie znającego assemblera. Natomiast żeby samemu zrobić coś takiego znów trzeba było być mocnym w kodzie maszynowym. I koło się zamyka.

Ale i tak było to lepsze niż poke'i w Bajtku których nie mogłem wpisać bo miałem program zcrackowany i zabezpieczony przez Billa.

Phonex

  • *****
  • Wiadomości: 1260
  • Miejsce pobytu:
    Warszawa
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #31 dnia: 2017.11.13, 11:49:59 »
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 :)
Proszę bardzo - nie używając peceta, trzeba przygotować sobie na kasecie własną wersję:

1. Wgrać COPY COPY
2. Skopiować trzy pierwsze bloki (loader, loader w kodzie, obrazek)
2. Przed załadowaniem najdłuższego bloku wpisać LOAD AT 23040 (żeby ustalić sobie adres bazowy)
3. Jeszcze nie puszczać taśmy, wcisnąć BREAK
4. Wpisać LOAD (38144 i puścić taśmę
5. Jak się załaduje wpisać zmianę POKE 45675,201  adres to 50027-27392+23040
6. Zgrać na przygotowaną kasetę SAVE
7. Skopiować resztę bloków

Pozostaje jeszcze tylko zmienić długość ładowanego bloku w loaderze w kodzie albo wpisując w ten sam sposób w COPY COPY, albo jako POKE w loaderze.
Sposób skuteczny dla wersji tap.

Phonex

  • *****
  • Wiadomości: 1260
  • Miejsce pobytu:
    Warszawa
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #32 dnia: 2017.11.13, 12:30:52 »
Oczywiście Bill Gilbert punkty 2-6 zrobiłby szybciej: napisałby programik (ignorując COPY COPY i asembler ;)):

1 CLEAR 24999
10 DATA 221,33,0,107,17,64,224,62,255,55,195,86,5
20 FOR l=25000 TO 70E3: READ a: POKE l,a: NEXT l
RUN, a potem z ręki RANDOMIZE USR 25000
Programik załadowałby blok bez nagłówka (na właściwe miejsce). Część oczywiście "pójdzie w powietrze" bo będzie "ładował" do ROM. Teraz dbając żeby nie wyczyścić ekranu (bo jest na nim fragment obrazka) wpisać nieśmiertelność POKE 50027,201 i zgrać. Jak zgrać blok bez nagłówka? To proste: zgrać normalnie SAVE "alabama" CODE 27392,57408 a magnetofon włączyć po przejściu nagłówka ;D
Ten sposób jest nawet jeszcze prostszy bo zachowuje długość bloku, nie trzeba modyfikować loadera.

Dla nie piszących DATA z pamięci z szybkością światła, jak Bill Gilbert, też jest rozwiązanie:
Przygotować trzecią kasetę, wpisać SAVE "alabama" CODE 27392,57408 i nagrać na nią SAM NAGŁÓWEK.
Teraz mamy na trzeciej kasecie brakujący nagłówek i żeby załadować główny blok piszemy normalnie CLEAR 27000: LOAD "" CODE po czym wczytujemy dorobiony właśnie nagłówek a potem już właściwy plik. Nie ma znaczenia że nie są od razu po sobie.
POKE i SAVE jak wyżej

pear

  • *****
  • Wiadomości: 5509
  • Miejsce pobytu:
    Będzin
  • Z80 only
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #33 dnia: 2017.11.13, 12:38:34 »
Słabo się znam, ale czy SAVE z BASIC-a zamaże obrazek ?
ZX/Enterprise/CPC/Robotron/C128D

Phonex

  • *****
  • Wiadomości: 1260
  • Miejsce pobytu:
    Warszawa
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #34 dnia: 2017.11.13, 12:49:57 »
Tak, ale zamaże tylko dół.
Istotna jest tylko pierwsza i druga tercja do 27392+57408-65536=19264.

ediman

  • **
  • Wiadomości: 66
  • Miejsce pobytu:
    Poznań
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #35 dnia: 2017.11.14, 09:15:37 »
To ja nie rozumiem jednej rzeczy, może ktoś mi wyjaśni po co są podawane POKE które daje infinity lives np.: POKE 50027,201 w grze Three Weeks in Paradise skoro nie można ich wpisać?
Trochę jestem rozczarowany bo chciałem zrobić gejmplaye z kilku gier na prawdziwym Spectrum no i przydała by się nieśmiertelność ale widzę że nie lekko i chyba trzeba będzie więcej poćwiczyć albo włączyć emulator:/

tooloud

  • *****
  • Wiadomości: 3185
  • Miejsce pobytu:
    Warszawa
  • mydłem go!
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #36 dnia: 2017.11.14, 09:30:53 »
dżizas, dwie strony ludzie Ci tłumaczą jak to zrobić...
dużo sprzętu mało czasu.

popocop

  • *****
  • Wiadomości: 830
  • Miejsce pobytu:
    Warszawa
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #37 dnia: 2017.11.14, 09:34:53 »
POKE są do konkretnej wersji gry, nie zawsze tej, którą masz. Ten problem istnieje od ponad 30 lat :)
Natomiast POKE nie jest jedynym sposobem na aktywację cheatów (wieczne życie itp.). Dla każdej gry na WoS istnieje odnośnik do Tipshopu. Znajdziesz tam różne ułatwienia do danej gry (POKE, mapy, podpowiedzi, cheaty).
Dla Three Weeks in Paradise masz następujące sztuczki:

Wait until Wally has been killed for the first time and then press symbol- shift D and P simultaneously while Wally is sitting on the floor. You'll then get infinite lives. (YS Smash Tips , Page 54) 3900
To gain infinite lives on Three Weeks in Paradise wait until Wally has been knocked down. When the stars start revolving round his head quickly press Symbol Shift, D and P.

(Paul Crowley in Sinclair User issue 49 , Page 29) 4236
To activate the cheat mode, hold down Symbol Shift, D and P at the same time when Wally loses a life, and when you hear an appropriate jungle noise, let go of the keys. (Richard Swann in Your Sinclair issue 63 , Page 36) 5017
(Reproduced in Crash issue 91 - uncredited)

When sitting down whilst losing a life press Symbol Shift, D and P for infinite lives.

(Claude Longman in Crash issue 63 , Page 35) 9505
ZX Spectrum +2 & PicoDiv SD,
Timex 2048 & divIDE 57c

tooloud

  • *****
  • Wiadomości: 3185
  • Miejsce pobytu:
    Warszawa
  • mydłem go!
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #38 dnia: 2017.11.14, 10:13:57 »
rzecz druga... gameplay z nieśmiertelnością? po co? po prostu graj.
dużo sprzętu mało czasu.

Phonex

  • *****
  • Wiadomości: 1260
  • Miejsce pobytu:
    Warszawa
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #39 dnia: 2017.11.14, 10:55:35 »
To ja nie rozumiem jednej rzeczy, może ktoś mi wyjaśni po co są podawane POKE które daje infinity lives np.: POKE 50027,201 w grze Three Weeks in Paradise skoro nie można ich wpisać?
Trochę jestem rozczarowany bo chciałem zrobić gejmplaye z kilku gier na prawdziwym Spectrum no i przydała by się nieśmiertelność ale widzę że nie lekko i chyba trzeba będzie więcej poćwiczyć albo włączyć emulator:/

Jak to nie można wpisać? Można 8)
Tu właśnie objawia się funkcja edukacyjna komputerów w przypadku normalnych użytkowników, którzy nie zostali komputerami zafascynowani od początku i tylko chcieli sobie pograć raz na jakiś czas. "Jak do diabła mam wpisać tego POKE?" Niektórzy dzięku temu tak się naedukowali, że potem zostali szefami IT w dużych firmach!

Jak już będziesz zdesperowany, mogę zamieścić moją wersję "Three weeks...", którą zrobiłem żeby można było nagrać na dysk. Nie ma w niej żadnych zabezpieczeń i wpisanie POKE zajmie minutę osiem ;)
Tylko to jest wersja na Spectrum 48K - nie ma muzyki na AY.

RafalM

  • *****
  • Wiadomości: 1133
  • Miejsce pobytu:
    Sulejówek
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #40 dnia: 2017.11.14, 12:25:23 »
Cytuj
Dla każdej gry na WoS istnieje odnośnik do Tipshopu.

No właśnie. Coś się tak uczepił tego poke'a jeśli chcesz po prostu pograć  z nieśmiertelnością a twoja gra oferuje wbudowane cheaty?

A na przyszłość to kup sobie Divide, na pececie uruchom grę w emulatorze,wpisz poke, zapisz snapshot, wrzuć na Divide i graj ze snapshota.

ediman

  • **
  • Wiadomości: 66
  • Miejsce pobytu:
    Poznań
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #41 dnia: 2017.11.20, 00:59:09 »

No i to jest konkretna odpowiedź:)
Divide już mam od Zaxxona patent fajny w ostateczności bo jednak wolę gry wczytywać z taśmy.

ediman

  • **
  • Wiadomości: 66
  • Miejsce pobytu:
    Poznań
Odp: jak wpisywać POKE w grach na prawdziwym Spectrum
« Odpowiedź #42 dnia: 2017.11.27, 09:18:46 »
Dziękuję za wszystkie odpowiedzi. Wbudowany w grę cheat wykorzystałem w tym nagraniu.
https://youtu.be/xBoYmlgb8PE