Autor Wątek: Issue 2 Keyboard vs. Issue 3 Keyboard  (Przeczytany 6341 razy)

ikci

  • *****
  • Wiadomości: 1216
  • Miejsce pobytu:
    Kraków
Issue 2 Keyboard vs. Issue 3 Keyboard
« dnia: 2017.01.24, 10:19:18 »
Na temat sposobu komunikacji z klawiaturą (Issue 2 lub Issue 3) niestety nie znalazłem nic na
naszym forum. Co ciekawe, także szukając w internecie (także na stronach anglojęzycznych) wygląda jakby problem był tak znikomy, że praktycznie nie ma nad czym się rozpisywać.
Jedynie Peter Putnik napisał o tym coś więcej  http://piters.tripod.com/cassport.htm

Temat jest oczywiście o trybie obsługi klawiatury, a nie o rewizji płyty. Chociaż jest to powiązane ze sobą, bo jak podejrzewam, dotyczy tylko układów ULA oznaczonych na początku cyferką "5" czyli płyt głównych w rewizjach Issue 1 oraz Issue 2. Później (od drugiej połowy 1983) produkowane płyty oraz energooszczędne ULA, oznaczone na początku nazwy cyfrą "6", obsługiwały już klawiaturę w trybie Issue 3.

Sprawa mnie intryguje bo nie do końca rozumiem, czy kłopot pojawia się jedynie przy emulatorach (które zresztą w większości mają opcje wyboru emulacji Issue 2 Keyboard) więc problem rozwiązują dając użytkownikowi możliwość wyboru.
Pytanie, czy na realnym sprzęcie (chodzi o Gumiaki lub Plusy) problem nie występował?
To znaczy czy nowszy Gumiak lub Plusik (czyli pracujący w trybie Issue 3 keyboard) bez problemu ogarniał grę napisaną dla trybu obsługi klawiatury Issue 2 ?


Odniosę się do gry, która w tamtych czasach mnie zachwyciła i do dzisiaj zachwyca.
Chodzi o Abu Simbel Profanation z roku 1985.
https://www.youtube.com/watch?v=PR_y7iYNqzA
Gra pozytywnie zaskakuje kolorową grafiką i animacją. Negatywnie zaskakuje swoją nieprzeciętną trudnością.
Pomimo późnej daty powstania - gra obsługiwała klawiaturę w trybie Issue 2. Oczywiście jeżeli w przypadku oryginalnych komputerów 48K, nie miało to znaczenia to jest wytłumaczalne dlaczego była wydawana nawet w późniejszylch latach (1987) i obsługa "Issue 2 keyboard" nie została poprawiona. Na oryginalnych okładkach kaset jest wyraźnie napisane, że gra jest przeznaczona dla komputerów 48K.
Ta gra na pewno nie działa na klonach ZX Spectrum - TC2048 oraz czarnym +2. Nie działa to znaczy, po załadowaniu gry kiedy pojawiają się opcje wyboru sterowania grą, komputer nie reaguje na przycikanie klawiatury. W przypadku TC2048 gra prawdopodobnie zawiesza się już podczas wczytywania.
Grę można pobrać z WOS http://www.worldofspectrum.org/infoseekid.cgi?id=0000048
Jest dosyć dużo różnych wersji obrazów taśm, jednak jedynie werja hiszpańska, z roku 1987, posiadająca w nazwie (SmallCase-Different) jest wersją przerobioną i działającą bez problemu na Issue3.

Uparłem się, że chcę znaleźć wersję angielską, która będzie działać na ZX Spectrum +3 i zacząłem szukać u naszych wschodnich sąsiadów.
http://spectrum4ever.org/fulltape.php?go=releases&letter=A
Na tej rosyjskiej stronie sa dostępne 3 pliki tej gry. Z czego przynajmniej jeden jest złamany przez naszych (JANSOFT). Zatem pobrałem wszystkie 3 pliki i ciekawostka: żaden z nich nie jest poprawiony na Issue 3.

Czyżby zatem Rosjanie nie mieli problemu z "Issue 2 keyboard" na swoich klonach ?

Przeszukałem polskie czasopisma z tamtego okresu. Jedynie w "Komputerze" ze stycznia 1987, Grzegorz Czapkiewicz w dziale Poke n,∞ opisuje tą grę i metodę uzyskania w niej nieśmiertelności. Zwraca uwagę na istnienie kilku wersji tej gry. Jednak nic nie wspomina na temat problemów z klawiaturą.
Także w czasopismach zachodnich nie ma ani jednej wzmianki na ten temat.

Właściciele ZX Spectrum 48k oraz Plusów w tamtych czasach. Ożywcie wspomnienia, proszę i przypomnijcie sobie, czy mieliście problemy z tą grą?
ZX Spectrum 48K, ZX Spectrum +, ZX Spectrum 128K, ZX Spectrum +2, ZX Spectrum +2B, ZX Spectrum +3, TIMEX TC2048, UNIPOLBRIT Komputer 2068, Didaktik Gama 80kB, 
Amstrad/Schneider CPC6128, Schneider CPC464, Commodore C64, Atari 800XL, 65XE 130XE, A500+, A600, A1200, ATARI 1040 STF

pear

  • *****
  • Wiadomości: 5513
  • Miejsce pobytu:
    Będzin
  • Z80 only
Odp: Issue 2 Keyboard vs. Issue 3 Keyboard
« Odpowiedź #1 dnia: 2017.01.24, 11:28:55 »
Czy to chodzi o to, że klawisze są odczytywane w różnych wersjach z innych bitów (albo nie wszystkie bity mają zawsze ustalony stan), a w Timexie to jak zwykle w ogóle inaczej ?
Coś mi świta, że gdzieś kiedyś było o tym w Bajtku.
ZX/Enterprise/CPC/Robotron/C128D

ZX Freeq

  • *****
  • Wiadomości: 1835
  • Miejsce pobytu:
    Warszawa
Odp: Issue 2 Keyboard vs. Issue 3 Keyboard
« Odpowiedź #2 dnia: 2017.01.24, 11:58:55 »
Był był w Bajtku artykuł o różnych Issue. Ale nie pamiętam, co tam dokładnie opisane było, ani numeru. Raczej jeszcze z czasów dużego formatu.

Ja AbuSimbelProfanation poznałem już za czasów współczesnych, na emulatorze Z80 pod DOSem. Faktycznie w opcjach chyba trzeba było przestawić Issue klawiatury. Nie pamiętam jednak czym objawiało się nie przestawienie tej opcji.
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

trojacek

  • *****
  • Wiadomości: 6850
  • Miejsce pobytu:
    Warszawa
Odp: Issue 2 Keyboard vs. Issue 3 Keyboard
« Odpowiedź #3 dnia: 2017.01.24, 13:03:04 »
http://worldofspectrum.org/faq/reference/48kreference.htm

Hardware / port 0xfe, tam jest opisana procedura, jak odróżnić issue 2 od 3 i późniejszych.

ikci

  • *****
  • Wiadomości: 1216
  • Miejsce pobytu:
    Kraków
Odp: Issue 2 Keyboard vs. Issue 3 Keyboard
« Odpowiedź #4 dnia: 2017.01.24, 13:06:38 »
Panowie, bardzo dziękuję za wsparcie.

Postanowiłem wypróbować na realnym sprzęcie.

Pod ręką miałem: Gumiak (z pewnością nowsza wersja płyty - chyba Issue 4) Didaktik Gama 80kb v. 1989
oraz ZX Spectrum+ 128k (Toastrack)

Testowałem na nich ten plik:
http://www.worldofspectrum.org/pub/sinclair/games/a/AbuSimbelProfanation(GremlinGraphicsSoftwareLtd).tzx.zip

Wyniki:

Gumiak - mimo, że nowsza płyta i zapewne obsługa Issue3 Keyboard - gra się uruchamia i działa obsługa klkawiatury.
Nie ma żadnego problemu, można grać.

Didaktik Gama 80k (v. 1989) - gra się wczytuje w całości. Pojawia się płynący do góry scroll. Po kliknięciu ENTER przechodzi
do wyboru opcji sterowania grą lecz w tym momencie następuje reset komputera.

Toastrack (robiłem test w trybie 48k) - gra się wczytuje, działa wybór opcji sterowania. Można śmiało grać.

Jeszcze mogę sprawdzić na  ZX Spectrum 128+3  ale potrzebuję więcej czasu bo muszę przygotować obraz dyskietki.

EDIT:

W TIP SHOP  http://www.the-tipshop.co.uk/cgi-bin/info.pl?wosid=0000048 znalazłem  plik
Type in hack. Bugfixed version

http://www.the-tipshop.co.uk/hacks/ArchieRobins/TAP/A/Abu%20Simbels%20Profanation%20(Bugfixed)%20(1987)(Dinamic%20-%20Gremlin)[turbo][p].tap

(nie mogę w żaden sposób wkleić tego linku żeby działał - forum obcina cześć adresu)

Po ściągnięciu tego pliku w środku widzę blok o nazwie:  ASP_KBFix_     czyli jest poprawka dla Issue3

Wyodrębniłem ten blok z obrazu pliku i wstawiłem do obrazu  (na jego początek):
http://www.worldofspectrum.org/pub/sinclair/games/a/AbuSimbelProfanation(GremlinGraphicsSoftwareLtd).tzx.zip

Sprawdziłem na emulatorze i gra się wczytuje i działa wybór opcji sterowania grą.

W załączniku przerobiony plik gry.

Teraz pozostaje sprawdzić to na Didaktik Gama 80kb czy gra nadal się będzie resetować.
Także jak ktoś ma pod ręką TC2048 - ja niestety mam za głęboko zagrzebany.
« Ostatnia zmiana: 2017.01.24, 13:34:34 wysłana przez ikci »
ZX Spectrum 48K, ZX Spectrum +, ZX Spectrum 128K, ZX Spectrum +2, ZX Spectrum +2B, ZX Spectrum +3, TIMEX TC2048, UNIPOLBRIT Komputer 2068, Didaktik Gama 80kB, 
Amstrad/Schneider CPC6128, Schneider CPC464, Commodore C64, Atari 800XL, 65XE 130XE, A500+, A600, A1200, ATARI 1040 STF

tooloud

  • *****
  • Wiadomości: 3189
  • Miejsce pobytu:
    Warszawa
  • mydłem go!
Odp: Issue 2 Keyboard vs. Issue 3 Keyboard
« Odpowiedź #5 dnia: 2017.01.24, 13:16:15 »
mam trzy działające issue 2 - ale nie do końca rozumiem problem.
dużo sprzętu mało czasu.

ikci

  • *****
  • Wiadomości: 1216
  • Miejsce pobytu:
    Kraków
Odp: Issue 2 Keyboard vs. Issue 3 Keyboard
« Odpowiedź #6 dnia: 2017.01.24, 13:29:03 »
Ale pisząc Issue 2 piszesz o rewizji płyty czy o najstarszym ZX Spectrum, który mapował klawiaturę w wersji Issue 2  ?
ZX Spectrum 48K, ZX Spectrum +, ZX Spectrum 128K, ZX Spectrum +2, ZX Spectrum +2B, ZX Spectrum +3, TIMEX TC2048, UNIPOLBRIT Komputer 2068, Didaktik Gama 80kB, 
Amstrad/Schneider CPC6128, Schneider CPC464, Commodore C64, Atari 800XL, 65XE 130XE, A500+, A600, A1200, ATARI 1040 STF

tooloud

  • *****
  • Wiadomości: 3189
  • Miejsce pobytu:
    Warszawa
  • mydłem go!
Odp: Issue 2 Keyboard vs. Issue 3 Keyboard
« Odpowiedź #7 dnia: 2017.01.24, 13:56:06 »
trzy płyty issue 2 - najstarsza z 19tego tygodnia 1982.
dużo sprzętu mało czasu.

ikci

  • *****
  • Wiadomości: 1216
  • Miejsce pobytu:
    Kraków
Odp: Issue 2 Keyboard vs. Issue 3 Keyboard
« Odpowiedź #8 dnia: 2017.01.24, 14:04:31 »
Dobrze, tylko tak prawdę mówiąc, co to wnosi do tematu ?
ZX Spectrum 48K, ZX Spectrum +, ZX Spectrum 128K, ZX Spectrum +2, ZX Spectrum +2B, ZX Spectrum +3, TIMEX TC2048, UNIPOLBRIT Komputer 2068, Didaktik Gama 80kB, 
Amstrad/Schneider CPC6128, Schneider CPC464, Commodore C64, Atari 800XL, 65XE 130XE, A500+, A600, A1200, ATARI 1040 STF

matofesi

  • *****
  • Wiadomości: 2055
  • Miejsce pobytu:
    Toruń/Poland
Odp: Issue 2 Keyboard vs. Issue 3 Keyboard
« Odpowiedź #9 dnia: 2017.01.24, 14:19:53 »
@ikci Istotny jest chyba kawałek "...ale nie do końca rozumiem problem." ;)

A problem zasadniczo polega na tym, że jak się źle odczytuje klawiaturę to na nieistotnych dla samej klawiatury bitach pojawiają się dane, które należy poprawnie interpretować albo odrzucać. Profanation (i o ile z dawnych czasów pamiętam jeszcze kilka innych) czyta klawiaturę niepoprawnie i w efekcie nie da się pograć na niektórych wersjach płyt.

Zastanawia mnie tylko dlaczego na Didaktiku się resetuje... Może tam aktywuje się jeszcze jakaś inna niezgodność...

tooloud

  • *****
  • Wiadomości: 3189
  • Miejsce pobytu:
    Warszawa
  • mydłem go!
Odp: Issue 2 Keyboard vs. Issue 3 Keyboard
« Odpowiedź #10 dnia: 2017.01.24, 14:42:33 »
Dobrze, tylko tak prawdę mówiąc, co to wnosi do tematu ?

to że mam kompy które łapią się ULą w issue2 keyboard.

nie wiem - chcesz coś sprawdzić?
dużo sprzętu mało czasu.

ikci

  • *****
  • Wiadomości: 1216
  • Miejsce pobytu:
    Kraków
Odp: Issue 2 Keyboard vs. Issue 3 Keyboard
« Odpowiedź #11 dnia: 2017.01.24, 15:13:38 »
Przepraszam. Nie zrozumiałem sensu dla którego wspomniales o tym ze masz 3 Spektrum  ze starą plyta. Chodzi o to ze ja nic nie chce sprawdzac na tych starych plytach w ktorych wystepuje Issue2 keyboard. Bylbym wdzieczny gdyby ktoś sprawdzil ten ostatni plik z poprawka Issue3 keyboard ale na TC2048 lub czarnym +2

Jestem teraz w kolejce u lekarza. Pisze tego posta z telefonu. Wrócę do domu i postaram sie porobic dalsze testy - na przyklad na  +3. Chodzi o sprawdzenie czy też sie zawiesi po wczytaniu oryginalnej gry oraz czy po wczytaniu gry z fixem Issue3 kbd czy nedzie działać poprawnie.
ZX Spectrum 48K, ZX Spectrum +, ZX Spectrum 128K, ZX Spectrum +2, ZX Spectrum +2B, ZX Spectrum +3, TIMEX TC2048, UNIPOLBRIT Komputer 2068, Didaktik Gama 80kB, 
Amstrad/Schneider CPC6128, Schneider CPC464, Commodore C64, Atari 800XL, 65XE 130XE, A500+, A600, A1200, ATARI 1040 STF

tooloud

  • *****
  • Wiadomości: 3189
  • Miejsce pobytu:
    Warszawa
  • mydłem go!
Odp: Issue 2 Keyboard vs. Issue 3 Keyboard
« Odpowiedź #12 dnia: 2017.01.24, 15:54:30 »
Przepraszam. Nie zrozumiałem sensu dla którego wspomniales o tym ze masz 3 Spektrum  ze starą plyta. Chodzi o to ze ja nic nie chce sprawdzac na tych starych plytach w ktorych wystepuje Issue2 keyboard. Bylbym wdzieczny gdyby ktoś sprawdzil ten ostatni plik z poprawka Issue3 keyboard ale na TC2048 lub czarnym +2

ok, ja myślałem, że chodzi o odpalenie czegoś i na starej issue2 (płyta) i na czymś nowszym.
dużo sprzętu mało czasu.

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4549
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Issue 2 Keyboard vs. Issue 3 Keyboard
« Odpowiedź #13 dnia: 2017.01.24, 19:17:17 »
To co napisał mat - na wszystkich modelach ZX Spectrum, Timexie itp odczyt odpowiednich bitów z portów klawiatury powinien dawać identyczny wynik. Problemy z grami na różnych issue oraz klonach powoduje jedynie nieprofesjonalne podejście programistów gier do obsługi klawiatury - nic więcej.

ikci

  • *****
  • Wiadomości: 1216
  • Miejsce pobytu:
    Kraków
Odp: Issue 2 Keyboard vs. Issue 3 Keyboard
« Odpowiedź #14 dnia: 2017.01.24, 19:33:33 »
Panowie, raz jeszcze dziękuję za wszelką pomoc oraz oferty pomocy.
Ten plik TZX który załączyłem - postanowiłem go przerobić aby to nie była taka zlepka programów i podprogramików w pliku TZX,
który w dodatku ma w środku bloki w turbo i nie będzie działał na DivIDE.

Wczytałem zatem całość do SpecEmu - trzasnąłem snapa, później skompresowałem (Snap2Tap), dodałem obrazek (ZX-Blockeditor)
i wyszedł mi piękny TAP w rozmiarze niecałych 30 kb.
Plik w załączniku

Teraz taki plik mogę także wczytywać przy pomocy DivIDE.


Wytargałem w końcu spod sterty gratów swojego TC2048 oraz uruchomiłem ZX 128+3

Wyniki testów:

ZX 128 +3 + plik oryginalny pobrany z WOS - program się wczytuje, ale przy próbie wyboru opcji
sterowania grą - klawisze wyboru nie działają. Czyli stan idealnie podobny jak w emulatorze.

Mój przerobiony plik TAP wczytuje się, działają klawisze wyboru opcji sterowania grą.
Można grać.

TC2048  - gra się wczytuje do końca (wczytywałem oryginał TZX z WOS) po wczytaniu nie ma w ogóle
widocznego scrolla - powinny się pojawić napisy lecące do góry i przejście do wyboru opcji sterowania grą
powinno nastąpić po kliknięciu w ENTER (lub inny klawisz, chyba dowolny)
Pojawia się zatem od razu menu wyboru sterowania i żaden klawisz nie działa - zatem sytuacja jak w emulatorze.

Wczytałem mojego przerobionego TAPa -  gra się wczytuje, scroll się nie pojawia tylko od razu opcje wyboru sterowania
grą. Opcje działają ale przy wyborze sterowania klawiaturą - nasz bohater od razu sam zasuwa w prawo  - tak jakby cały
czas był wciśnięty klawisz P
Przy wyborze Kempstona można spokojnie grać.. To znaczy nie wiem jak jest w dalszych komnatach - nie udało mi się jeszcze
przejść tej pierwszej :)

Jeszcze spróbuję wczytać tego poprawionego TAP do Didaktika - może tym razem się nie zawiesi.


EDIT:

Jeszcze raz wczytałem nie poprawiany, oryginalny plik TZX pobrany z WOS do  Didaktika.
Kurcze nie wiem jaki czort był w nim wcześniej. Może za długo leżał nie ruszany?
Didaktik się nie zawiesił, nie zresetował, był scroll, działają opcje wyboru sterowania grą. Można grać.
(Przypominam, że ten Ditaktik ma w środku oryginalny układ Ferranti ULA)

Wczytałem do niego także poprawiony plik TAP i ta wersja także działa bez problemu.
« Ostatnia zmiana: 2017.01.24, 20:54:14 wysłana przez ikci »
ZX Spectrum 48K, ZX Spectrum +, ZX Spectrum 128K, ZX Spectrum +2, ZX Spectrum +2B, ZX Spectrum +3, TIMEX TC2048, UNIPOLBRIT Komputer 2068, Didaktik Gama 80kB, 
Amstrad/Schneider CPC6128, Schneider CPC464, Commodore C64, Atari 800XL, 65XE 130XE, A500+, A600, A1200, ATARI 1040 STF