forum speccy.pl

ZX Spectrum => PROGRAMOWANIE => Wątek zaczęty przez: Abrimaal w 2011.12.03, 00:54:50

Tytuł: Dla początkujących i powracających
Wiadomość wysłana przez: Abrimaal w 2011.12.03, 00:54:50
Myślę, że taki temat jest potrzebny.
Są ludzie, którzy dopiero zaczynają przygodę ze Spectrum
i tacy, którzy mieli kilkanaście lat przerwy i pozapominali.
Żadne pytanie tutaj nie jest głupie.

Moje pierwsze: od jakiego adresu zaczyna się Basic w ZX 128?
Konkretniej: jest loader w Basic, który robi CLEAR 24999 i ładuje dane od 25000 do ?
Gdzie można bezpiecznie wstawić około 30 bajtów kodu, żeby nie wszedł na to stos ani kod nie wszedł na Basic?
Intuicja podpowiada mi - w pierwszą linię Basic, dlatego pytam o adres (dla 128)
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: matofesi w 2011.12.03, 14:30:45
Intuicja podpowiada mi, że peek 23635  + 256 * peek 23636 + 2 ;)

O ile pamiętam w 128 ta zmienna jest w tym samym miejscu i ma to samo znaczenie co w 48.
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: Abrimaal w 2012.02.24, 02:40:15
Dwa kolejne pytania .

Co powoduje zmienna 23739 - znalazłem to w loaderze dla gry sterowanej myszą.
W mądrej książce jest tylko coś takiego - zmienna SBRT 23737 (10 bajtów) podprogram wywołania procedury z ROM:
LD HL,nn : CALL uu : LD (23738), HL : RET - to jest jasne, lecz
co to daje w praktyce, jeśli z loadera nie ma żadnego wywołania USR, zmieniany jest tylko 3 bajt zmiennej, czyli rejestr H.

Drugie - czy jest możliwe w Basic wykonanie INPUT na ekranie? Próbowałem INPUT #2;a
to wyświetla błąd Invalid I/O Device.
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: matofesi w 2012.02.24, 09:21:04
Cytuj
Dwa kolejne pytania .

Co powoduje zmienna 23739 - znalazłem to w loaderze dla gry sterowanej myszą.
W mądrej książce jest tylko coś takiego - zmienna SBRT 23737 (10 bajtów) podprogram wywołania procedury z ROM:
LD HL,nn : CALL uu : LD (23738), HL : RET - to jest jasne, lecz
co to daje w praktyce, jeśli z loadera nie ma żadnego wywołania USR, zmieniany jest tylko 3 bajt zmiennej, czyli rejestr H.

23739 to zmienna (a właściwie kawałek kodu) używana przez ZX Interface 1. Nie wiem do czego miałby tej zmiennej używać loader - używa jej Shadow ROM Interface 1 do wywoływania procedur z ROMu systemowego - ustawia w tym obszarze adres procedury, która ma zostać wywołana (z Shadow ROM wykonywane jest to przez RST 16; DW adres_procedury), na stosie ustawia jako adres powrotu #0008 (adres procedury obsługi błędów i równocześnie hook aktywujący Shadow ROM) na koniec na stos trafia adres zmiennej SBRT i wołana jest procedura wyłączająca Shadow ROM, co w efekcie powoduje wykonanie SBRT, skok do ROMu systemowego a po powrocie z niego skok pod adres #0008 z ustawionym znacznikiem "wykonała się procedura z ROMu systemowego".

Tak to w skrócie działa i ładowanie czegokolwiek w to miejsce nie powinno mieć żadnego wpływu na to, co system robi jeśli tylko nie popsuje się samego kodu, który tam siedzi i ładowany jest tylko raz.

edit: No i oczywiście trzeba pamiętać, że jeśli do komputera nie jest podłączony Interface 1 (ani inne urządzenia, które przesuwają początek programu - np. Beta z TR-DOSem) to 23739 jest już w obszarze programu w BASICu.

Cytuj
Drugie - czy jest możliwe w Basic wykonanie INPUT na ekranie? Próbowałem INPUT #2;a
to wyświetla błąd Invalid I/O Device.

Hmmm... Mam wrażenie, że się da, ale... Na szybko udało mi się znaleźć tylko obejście - w jednym INPUT trzeba najpierw dać AT na jakąś dalszą pozycję, co spowoduje rozszerzenie pola wprowadzania tekstu a potem w tym samym poleceniu następne AT pozwala ustawić się już gdzieś w środku ekranu

INPUT AT 22,0;"";AT 0,0;"pytanie: ";a;AT 10,10;"coś jeszcze? ";a$

Niestety takie rozwiązanie nie pozwala zaadresować całego ekranu - w pierwszym AT nie da się zrobić 23 (Integer out of range) co powoduje, że następne AT 0,0 to drugi wiersz ekranu. Dodatkowo pierwszy AT rozszerza obszar wprowadzania wyscrollowując to, co było na ekranie. W efekcie jeśli chcemy uzyskać ładną "formatkę" do wprowadzania danych wszystko co ma się na ekranie wyświetlić musi być wyświetlane samym INPUTem. W pierwszym wierszu można co najwyżej wypisać coś statycznego - nie da się tam wstawić pola wprowadzania. Całość może wyglądać np. tak:

10 PRINT AT 21,0;"To, co się przescrolluje na samą górę ekranu"
20 INPUT AT 22,0;""; AT 0,0;"Pierwszy prompt:"; AT 1,0;"Drugi prompt:"; AT 0,17;a; AT 1,17;b$

Pierwszy wiersz wyświetla tekst na dole ekranu. Drugi przescrollowuje go na samą górę powiększając pole wprowadzania (AT 22,0) a następnie drukuje teksty pytań - wszystkie za jednym razem, żeby formatka wyglądała od razu jak należy a na koniec prosi o wprowadzenie poszczególnych zmiennych. Jedyna rzecz, która w tym rozwiązaniu jest nieładna to ten początkowy "scroll" - tekst z pierwszej linii przewija się na górę ekranu a potem dopiero wyświetla się to, co jest wpisane w INPUT.

Zrobienie tego wszystkiego "ładnie" wymagałoby napisania własnego podprogramu wprowadzania danych z klawiatury i używanie go zamiast INPUT - o ile pamiętam nie jest to jakieś bardzo skomplikowane choć oczywiście byłoby miło jakby się to dało zrobić z poziomu systemu ;)

A próba odczytu z #2 zawsze da I/O error, bo kanał S jest kanałem tylko do zapisu.
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: YERZMYEY/HOOY-PROGRAM w 2012.02.24, 09:51:03
jest loader w Basic, który robi CLEAR 24999 i ładuje dane od 25000 do ?
Nie znam się na szatańskich machinach typu ZX128, ale -
ładuje od 25000 aż do końca bloku z danymi, już sam z siebie.
Tu: prawdopodobnie należy również pamiętać, że 128K ma bankowanie jakies tam, czy coś? I tak liniowo to nie można sobie nawalić masy danych? Mat? Tygrys?
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: matofesi w 2012.02.24, 11:00:38
Cytuj
Nie znam się na szatańskich machinach typu ZX128, ale -
ładuje od 25000 aż do końca bloku z danymi, już sam z siebie.
Tu: prawdopodobnie należy również pamiętać, że 128K ma bankowanie jakies tam, czy coś? I tak liniowo to nie można sobie nawalić masy danych? Mat? Tygrys?

Oczywiście, że nie można liniowo. Jak się nic extra nie zrobi, to LOAD działa jak w 48 - ładuje do końca podstawowej pamięci. Żeby załadować resztę banków trzeba przed każdym kolejnym LOAD w trybie 128 przełączyć bank odpowiednim POKE. Trzeba przy tym pamiętać, że w trybie 128 część extra pamięci jest używana przez system (ramdysk, bufory edytora) i należy uważać co i gdzie się ładuje, żeby nie pokaszanić.
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: Abrimaal w 2012.02.24, 20:48:38
Cytuj
Nie znam się na szatańskich machinach typu ZX128, ale -
ładuje od 25000 aż do końca bloku z danymi, już sam z siebie.
Tu: prawdopodobnie należy również pamiętać, że 128K ma bankowanie jakies tam, czy coś? I tak liniowo to nie można sobie nawalić masy danych? Mat? Tygrys?

Oczywiście, że nie można liniowo. Jak się nic extra nie zrobi, to LOAD działa jak w 48 - ładuje do końca podstawowej pamięci. Żeby załadować resztę banków trzeba przed każdym kolejnym LOAD w trybie 128 przełączyć bank odpowiednim POKE. Trzeba przy tym pamiętać, że w trybie 128 część extra pamięci jest używana przez system (ramdysk, bufory edytora) i należy uważać co i gdzie się ładuje, żeby nie pokaszanić.
Banki pamięci od 49152 do 65535 przełącza się OUT 32765,n np. przełączanie ekranów dla gigascreen to OUT 32765,16 i 31 na zmianę na przerwaniach.
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: matofesi w 2012.02.24, 21:11:36
Aha. I spróbuj to zrobić w programie w BASICu w trybie 128 ;) Musiałbym chwilę poszukać, ale w BASICu jest do tego zmienna systemiowa, którą system monitoruje i przełącza stosownie banki.

A przełączanie ekranów "na przerwaniach" nie da ci gigascreena tylko dwa mrugające obrazki - na ile rozumiem koncepcję gigascreena musisz przełączać ekrany co linię i w kolejnych ramkach zamieniać kolejność ekranów.
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: Abrimaal w 2012.02.24, 23:20:19
Ten "gigascreen" to napisałem tak na wyrost. Wiadomo o co chodzi.
A dodatkowych zmiennych systemowych dla 128 nie znam, nawet nie wiem pod jakimi adresami się znajdują.
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: Pyza^Illusion w 2012.02.25, 01:12:26
Aha. I spróbuj to zrobić w programie w BASICu w trybie 128 ;) Musiałbym chwilę poszukać, ale w BASICu jest do tego zmienna systemiowa, którą system monitoruje i przełącza stosownie banki.

A przełączanie ekranów "na przerwaniach" nie da ci gigascreena tylko dwa mrugające obrazki - na ile rozumiem koncepcję gigascreena musisz przełączać ekrany co linię i w kolejnych ramkach zamieniać kolejność ekranów.

Otóż nie... Jest to zresztą opisane w którymś temacie tu na forum (w dziale z grafiką). Giga-screen to właśnie tylko 2 mrugające obrazki zmieniające się co ramkę :p

Zmienna systemowa w BASIC 128 to POKE 23388,x (x-nr banku). Nie pamiętam czy ten nr banku miał podobne wartości jak dla OUT'a. Generalnie i tak "nikt" z tego nie korzystał. Programy zawsze pisało się pod USR0 i BASIC48.
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: Abrimaal w 2012.02.25, 03:04:33

Otóż nie... Jest to zresztą opisane w którymś temacie tu na forum (w dziale z grafiką). Giga-screen to właśnie tylko 2 mrugające obrazki zmieniające się co ramkę :p
Czyli jednak dobrze, w tym temacie jest dokładnie wyjaśniona różnica.

Zmienna systemowa w BASIC 128 to POKE 23388,x (x-nr banku). Nie pamiętam czy ten nr banku miał podobne wartości jak dla OUT'a. Generalnie i tak "nikt" z tego nie korzystał. Programy zawsze pisało się pod USR0 i BASIC48.
[/quote]
To znaczy, że dodatkowe zmienne w 128 "siedzą" pod adresami 23296-23551, czyli obszar pierwotnie zarezerwowany dla drukarki. Muszę to sprawdzić czy są one tam także trybie BASIC 48. Tutaj muszę się zgodzić - edytor BASIC 128 jest wyjątkowo niewygodny, zwłaszcza gdy w programie (np. w linii 0) jest jakiś kod.
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: matofesi w 2012.02.25, 13:37:59

Otóż nie... Jest to zresztą opisane w którymś temacie tu na forum (w dziale z grafiką). Giga-screen to właśnie tylko 2 mrugające obrazki zmieniające się co ramkę :p
Czyli jednak dobrze, w tym temacie jest dokładnie wyjaśniona różnica.

Ja tam się nie będę sprzeczał - moim zdaniem obie wersje (czyli mruganie co ramkę i to, co sam zrobiłem czyli mruganie co linię) wyglądają okropnie ;)


Cytuj
Cytuj
Zmienna systemowa w BASIC 128 to POKE 23388,x (x-nr banku). Nie pamiętam czy ten nr banku miał podobne wartości jak dla OUT'a. Generalnie i tak "nikt" z tego nie korzystał. Programy zawsze pisało się pod USR0 i BASIC48.
To znaczy, że dodatkowe zmienne w 128 "siedzą" pod adresami 23296-23551, czyli obszar pierwotnie zarezerwowany dla drukarki.

Tak. Nowe zmienne siedzą od 23296.

Zmienna BANK_M ($5B5C) jest zasadniczo kopią ostatnio wysłanego przez system na port $7FFD bajtu. W części sytuacji - głównie przy przełączaniu między ROMami - system pobiera zapisaną tam wartość, zmienia jeden bit i wysyła na port $7FFD dlatego jest to poprawna metoda przełączania banków w trybie BASIC 128. W trybie tym należy też uważać na bank 7 pamięci - system używa go jako bufora dla edytora BASIC 128. W Pozostałych bankach przechowywane są dane jeśli używamy ramdysku systemowego - na to też należy zwrócić uwagę.

Cytuj
Muszę to sprawdzić czy są one tam także trybie BASIC 48.

Nie masz czego sprawdzać - po przejściu w tryb 48 niezależnie od tego czy bankowanie pamięci zostało przy tym wyłączone czy nie startuje po prostu ROM 1, który zasadniczo niczym się nie różni od normalnego ROMu 48. Ma jakieś drobne zmiany i jedną extra procedurę generującą "obraz testowy" (można ją wywołać nawet w trybie 48 przez RANDOMIZE USR 15388).

A skoro nie ma różnicy w działaniu to i nie ma potrzeby (ani nawet zasadności) używania dodatkowych zmiennych systemowych. W trybie 48 od $5C00 zaczyna się po prostu bufor drukarki.

Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: Abrimaal w 2012.02.25, 17:35:03
Dzięki za przybliżenie konstrukcji 128, jedna prośba - mógłbyś pisać adresy w systemie 10, my nie debuggery  :-X
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: matofesi w 2012.02.25, 18:15:30
Mógłbym. Ale wtedy czytając moją dokumentację musiałbym odpalać kalkulator i przeliczać adresy na dec ;)

Ale na przyszłość postaram się o tym pamiętać.
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: Abrimaal w 2012.02.26, 16:44:25
Czy ktoś ma wykaz zmiennych systemowych dla 128 (np. skan z instrukcji) i mógłby go udostępnić?
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: matofesi w 2012.02.26, 17:03:40
Tak na szybko bez odpalania kompa - na WoS w kategorii dokumentacja jast ZX-Spectrum 128 disassembly. Na stronie można ściągnąć pliki z ROMami w tym ROM 0 a w nim na początku jest m.in. lista zmiennych systemowych.
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: DDX w 2012.02.26, 17:04:34
Jest na WOSie (tutaj (http://www.worldofspectrum.org/ZXSpectrum128Manual/)) "skan" z instrukcji, ale o zmiennych systemowych tam nic nie widze.

[EDIT]: To powyzej oczywiscie mialo byc odnosnie ostatniego postu Abrimala i instrukcji do ZX128... ale widze, ze w miedzyczasie pojawil sie juz post Matofesiego z informacja gdzie na WOSie znalezc info o zmiennych systemowych.
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: Abrimaal w 2012.02.29, 02:58:37
Miało być dla początkujących i zapominalskich  ;) a my tu o assemblerze i organizacji pamięci :P.
Jeśli już jesteśmy tutaj, zawartość jakich rejestrów jest zwracana instrukcją LET a=USR nn
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: matofesi w 2012.02.29, 07:11:07
Od zawsze BC.
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: Abrimaal w 2012.03.30, 03:34:45
Jaki adres z ROM trzeba wywołać (chyba któryś RST?) aby wyświetlić znak na ekranie?
I jakie parametry wejściowe w rejestrach trzeba podać?

Cytuj

Co powoduje zmienna 23739 - znalazłem to w loaderze dla gry sterowanej myszą.
W mądrej książce jest tylko coś takiego - zmienna SBRT 23737 (10 bajtów) podprogram wywołania procedury z ROM:
LD HL,nn : CALL uu : LD (23738), HL : RET - to jest jasne, lecz
co to daje w praktyce, jeśli z loadera nie ma żadnego wywołania USR, zmieniany jest tylko 3 bajt zmiennej, czyli rejestr H.

23739 to zmienna (a właściwie kawałek kodu) używana przez ZX Interface 1. Nie wiem do czego miałby tej zmiennej używać loader - używa jej Shadow ROM Interface 1 do wywoływania procedur z ROMu systemowego - ustawia w tym obszarze adres procedury, która ma zostać wywołana (z Shadow ROM wykonywane jest to przez RST 16; DW adres_procedury), na stosie ustawia jako adres powrotu #0008 (adres procedury obsługi błędów i równocześnie hook aktywujący Shadow ROM) na koniec na stos trafia adres zmiennej SBRT i wołana jest procedura wyłączająca Shadow ROM, co w efekcie powoduje wykonanie SBRT, skok do ROMu systemowego a po powrocie z niego skok pod adres #0008 z ustawionym znacznikiem "wykonała się procedura z ROMu systemowego".
Załadowanie pod adres wartości 111 wyłącza wyświetlanie tekstu na ekranie, 244 włącza z powrotem.
Jest to często używane w loaderach, aby po załadowaniu screenu nie wyświetlały się nazwy kolejnych bloków.
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: matofesi w 2012.03.30, 08:37:46
Jaki adres z ROM trzeba wywołać (chyba któryś RST?) aby wyświetlić znak na ekranie?
I jakie parametry wejściowe w rejestrach trzeba podać?

RST 16 z kodem znaku w A. Znak jest drukowany zgodnie z pozycją ze zmiennych systemowych, ale jakbyś chciał na przykład przestawić tę pozycję "kulturalnie" to możesz to zrobić wywołując RST 16 trzy razy pod rząd podając najpierw 22 a potem wiersz i kolumnę jako znaki - RST 16 zapamiętuje stan drukowania i przy wieloznakowych ciągach (AT, INK, PAPER itp.) kolejne wywołania poprawnie dodają kody kontrolne.

Cytuj
Załadowanie pod adres wartości 111 wyłącza wyświetlanie tekstu na ekranie, 244 włącza z powrotem.
Jest to często używane w loaderach, aby po załadowaniu screenu nie wyświetlały się nazwy kolejnych bloków.

I stand corrected... Zapomniałem, że między zmiennymi systemowymi a obszarem BASICa jest jeszcze obszar opisu kanałów. 23739 to młodszy bajt adresu obsługi kanału S czyli drukowania na ekranie. Domyślnie jest tam adres procedury PRINT-OUT $09F4. Zapisanie tam 111 zmienia ten adres na $096F - to jest końcówka jednej z procedur obsługi taśmy a konkretnie adres rozkazu RET, co faktycznie powoduje, że kolejne odwołania do kanału S nic nie drukują. 244 to oczywiście $F4 czyli zmiana adresu na domyślny.

Pakowanie jednak czegoś pod ten adres na ślepo może się okazać ryzykowne, bo podłączenie np. ZX Interface 1 czy interface'u BETA przesuwa w górę BASIC i (na pewno w wypadku Interface 1, nie jestem pewien co do BETY) obszar opisu kanałów co oczywiście powoduje, że 23739 zaczyna przechowywać inne dane niż spodziewa się ich loader.

Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: cyborg50 w 2012.04.03, 23:29:31
Trochę z innej bajki. Ale jako że temat dla powracających to ja tu:
Jaki jest optymalny zestaw dla powracającego do zabawy z zx. Moje doświadczenia kończą się na zx48, w moich czasach był tylko jeszcze +. Coś na czym można by poodpalać jakieś gierki, demka, powciągać się w "nowoczesną" technikę (jakieś tos-y albo co?), jakaś obsługa cf - sam nie wiem co jeszcze?
Pytanie pomocnicze: czy zx 128 - taki jak zx + jeszcze sinclaira może to samo co późniejsze wersje +2, +3?
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: matofesi w 2012.04.03, 23:37:47
Dość optymalny zestaw startowy to Spectrum 128 (oryginalne (które jest dość trudne do wyrwania) albo szare +2 (znacznie łatwiejsze do dostania a co za tym idzie sporo tańsze)) a do tego DivIDE i karta CF. Do kompletu oczywiście jakiś joystick - jeśli +2 to przelotka z Amstradowego SJS na normalne Atari, jeśli oryginalne 128 to jakiś interface do joy'a.

I oczywiście jakiś zestaw emulator+assembler+edytor tekstu jeśli planujesz coś programować - w dzisiejszych czasach robienie tego na fizycznym sprzęcie to już czysta ekstrawagancja ;)

Co do wersji 128 - oryginalne Sinclairowe w obudowie jak plus z dużym radiatorem to jest baza. Potem Amstrad wypuścił +2 z magnetofonem i lepszą (?) klawiaturą i swoimi zmianami (wyjście RGB, 2 porty joysticka Sinclair dla joysticków SJS). Kolejna wersja to +2A w czarnej obudowie - tam zmieniła się elektronika wewnętrzna i to na tyle, że część programów (zwłąszcza dem wymagających dokładnych timingów) będzie się sypała a część rzeczy po prostu nie pójdzie - zasadniczo czarnych +2 należy unikać. Ostatni model to +3 - ma elektronikę z tej samej serii co +2A (takie same problemy jeśli chodzi o timingi) a do tego wbudowaną stację dyskietek 3" i oczywiście większy ROM z DOSem do obsługi tej stacji.
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: cyborg50 w 2012.04.04, 00:36:52
ok, a gdzieś kiedyś widziałem taką przeróbkę gumiaczka, co to się wymieniało oba banki pamięci na sprawne 64x1, chyba przy okazji były to już normalne takie jedno napięciowe (?), jakiegoś gala się na pigibag przyczepiało i było 128kb. Ale czy takie rozwiązanie to to samo co oryginalne 128?

BTW Po jaką cholerę sinclair oryginalnie użył 2 różnych typów pamięci (czy też coś mylę?)?
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: Abrimaal w 2012.04.04, 01:38:34
ok, a gdzieś kiedyś widziałem taką przeróbkę gumiaczka, co to się wymieniało oba banki pamięci na sprawne 64x1, chyba przy okazji były to już normalne takie jedno napięciowe (?), jakiegoś gala się na pigibag przyczepiało i było 128kb. Ale czy takie rozwiązanie to to samo co oryginalne 128?

BTW Po jaką cholerę sinclair oryginalnie użył 2 różnych typów pamięci (czy też coś mylę?)?
ZX Spectrum 128 nie ma pamięci 2x64kB, tylko banki po 16kB.
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: trojacek w 2012.04.04, 10:51:13
ok, a gdzieś kiedyś widziałem taką przeróbkę gumiaczka, co to się wymieniało oba banki pamięci na sprawne 64x1, chyba przy okazji były to już normalne takie jedno napięciowe (?), jakiegoś gala się na pigibag przyczepiało i było 128kb. Ale czy takie rozwiązanie to to samo co oryginalne 128?

BTW Po jaką cholerę sinclair oryginalnie użył 2 różnych typów pamięci (czy też coś mylę?)?

Cos mi swita, ze w mlodzienczych latach przywrocilem w ten sposob do zycia kilka gumiaczkow w moim liceum. usuwalem wszystkie kosci 4116 i w ich miejsce wstawialem 4164 (ktorem minimalnie roznia sie pinoutem - trzeba tylko przepiac +5V i usunac napiecia -5V oraz +12V, najlepiej calkowicie pozbyc sie ukladu przetwornicy). Fakt, ze w ten sposob uzywa sie tylko 1/4 pojemnosci nowych pamieci, ale sa (byly) one wzglednie tanie i dostepne. W ten sam sposob mozna "zregenerowac" gorne 32 KB do pelnych 64 KB (to te same scalaki, tylko Sinclair kupowal odpady z uszkodzonym jednym bankiem), na tym bazowala niezgodna z niczym przerobka na 80 KB :).
A czemu w Spectrum byly kostki 4116? Po prostu byly najtansze...
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: matofesi w 2012.04.04, 11:36:27
Ale czy takie rozwiązanie to to samo co oryginalne 128?

Jeśli chodzi o organizację pamięci - tak. Ale niestety w ten sposób nie zmienisz timingów ULA i dalej będziesz miał zgodne z 48. Jeśli program ma detekcję typu komputera i na podstawie obecności mechanizmu przełączania pamięci wybierze sobie timingi 128 to efekty się posypią.
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: YERZMYEY/HOOY-PROGRAM w 2012.04.04, 16:08:10
Trochę z innej bajki. Ale jako że temat dla powracających to ja tu:
Jaki jest optymalny zestaw dla powracającego do zabawy z zx. Moje doświadczenia kończą się na zx48, w moich czasach był tylko jeszcze +. Coś na czym można by poodpalać jakieś gierki, demka, powciągać się w "nowoczesną" technikę (jakieś tos-y albo co?), jakaś obsługa cf - sam nie wiem co jeszcze?
Pytanie pomocnicze: czy zx 128 - taki jak zx + jeszcze sinclaira może to samo co późniejsze wersje +2, +3?

Tu MAT właściwie wyczerpująco odpowiedział.
Zwłaszcza, że dema to 128K jest optymalny, bo 99% z gumiaka pójdzie, a ponadto masz wszystko na 128K, czego jest o niebo więcej.
>>powciągać się w "nowoczesną" technikę<< to nie ma co patrzeć na Zachód, bo idziemy na Wschód. Tam musi być jakaś cywilizacja.
Ale trzeba liczyć się kosztami poszukiwać nowoczesnej techniki. Ostatnio dałem ok. 750 zł za wykwit tejże.


> ok, a gdzieś kiedyś widziałem taką przeróbkę gumiaczka, co to się wymieniało oba banki
> pamięci na sprawne 64x1, chyba przy okazji były to już normalne takie jedno napięciowe (?), jakiegoś gala się na pigibag przyczepiało i było 128kb. Ale czy takie rozwiązanie to to samo co oryginalne 128?
-----------------
Niestety nie. W skrócie - gdybyś wrzucił do A500 2Mb, też nie będziesz miał Amigi 1200. :)
To co mówi MAT. Gumiak jest wolniejszy od 128K i dema by się żałośnie ślimaczyły, nic multikolorowego ze 128K Ci nie pójdzie, że nie wspomnę, że na ekranie nie ukaże się nic poza tryb standardowy, bo 128K ma dwa ekrany i większość programów z tego korzysta.
Miałbyś więc gumiaka ze 128K ramu, którego nikt nigdy nie zużyje. :)
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: cyborg50 w 2012.04.04, 20:40:50
no dobra sprawę mamy jasną trzeba zapolować na 128 (chyba że jakiś timex - coś było wspominane?) . a DivIDE to jakie? Są jakieś różne? ew skąd. Coś mi się wydaje że imć Pan Zaxon coś w tej sprawie będzie wiedział :)
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: matofesi w 2012.04.04, 21:04:07
Kup nowe DivIDE od Lotharka (http://www.lotharek.pl/product.php?pid=25), wrzuć do niego esxdosa (http://esxdos.org/) z firmware selectorem (http://velesoft.speccy.cz/zx/divide/divide-esxdos.htm) i przyległościami i będziesz miał wszystko co potrzebne.

Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: YERZMYEY/HOOY-PROGRAM w 2012.04.04, 23:03:44
Tak, Zaxon też jeszcze chyba ma divIDE w sprzedaży.

Timex = ZX48.

Więc najlepiej 128+ lub +2.

Nie +2A, nie +2B. No chyba, ze lubisz beepera. To wtedy _zwłaszcza_ +2A lub B.
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: Abrimaal w 2012.04.04, 23:24:30
Tak, Zaxon też jeszcze chyba ma divIDE w sprzedaży.

Timex = ZX48.

Więc najlepiej 128+ lub +2.

Nie +2A, nie +2B. No chyba, ze lubisz beepera. To wtedy _zwłaszcza_ +2A lub B.
A co ma beeper do modelu? To że +2 ma silniejszy głośnik nie gra żadnej roli, kiedy dziś każdy słucha z HiFi.
Tytuł: Odp: Dla początkujących i powracających
Wiadomość wysłana przez: YERZMYEY/HOOY-PROGRAM w 2012.04.04, 23:29:31
A co ma beeper do modelu? To że +2 ma silniejszy głośnik nie gra żadnej roli, kiedy dziś każdy słucha z HiFi.

No niestety nie każdy.
Chociaż my pewnie tak. :) :)
No chodzi o taką różnicę, że ja podłączam do mixera z equalizerem, fakt, ale jak odpalam moje +2A, to mogę podłączyć nawet do słuchawki telefonicznej, a i tak muszę zmniejszać basy. :)  :)  :) 

No nic, po prostu pod tym względem +2A wymiata, krótko mówiąc. Ma najlepiej opracowane wyjście audio pod kątem beepera.

Z resztą powiem Ci, że AY też nie cierpi, bo jak zapodać jakieś rosyjskie demo z ciężkim industrialem lub agresywnym gabberem, to nareszcie przestaje to szumieć i skwierczeć, a pojawia się za to prawdziwa moc i ciężar.
A sam wiesz, że ja za tymi rzeczami na AY nie przepadam. :)