forum speccy.pl
ZX Spectrum => SOFTWARE => Wątek zaczęty przez: ZbyniuR w 2013.09.10, 07:24:01
-
Jakie są różnice między Basiciem w starszych Spectrumach a tym w nowszych. Wiem że w tym drugim edytor jest pełnoekranowy i komendy się wklepuje po literce, ale co jeszcze? O ile się wydłużyła lista rozkazów? Czy w +3 jest ona jeszcze dłuższa niż w 128k? Czy różnią się prędkością działania? Którą wersję wolicie i częściej z niej korzystacie? Czy bardzo się trzeba namęczyć by w starym uzyskać to samo co w nowszym? :)
-
Roznice sa niewielkie, w zasadzie dotycza obslugi ramdysku w 128k i AY (komenda play), plus dysk w +3.
128K ma przeciez dalej ROM z 48K.
-
Tak jak zostało powiedziane - ramdysk i obsługa AY, zresztą nie pozwalająca na zbyt wiele, trochę jak obsługa głośniczka komendą BEEP.
Jest chyba też jakieś automatyczne zmienianie numerów linii, jakiś kalkulator.
+3 ma komendy do obsługi stacji dyskietek.
W edytorze 128 kB nie można chyba pokolorować sobie treści programu tak jak w 28 kB
Ale tak ogólnie to jakieś 95% jest tak samo.
-
Edytor w 128 moim zdaniem jest fatalny w prorównaniu z 48! Mimo że pełnoekranowy.
Głuche dźwięki klawiszy, beznadziejny zbędny bip po wciśnięciu ENTER, ale najgorszy jest auto-listing, czyli wyświetlanie listingu po zmianach. 48 najpierw czyścił ekran, a potem wyświetlał, a 128 wyświetla nie czyszcząc, co robi bałagan, bo robi to powoli, więc znaki zmieniają się przed oczami, a ewentualne puste linie czyści wyświetlając spacje i robi to taaaaak poooowooooooli, że aż wstyd. I przy dłuższych programach potrafi połknąć wpisywane znaki, bo piszesz, a on nie skończył jeszcze wyświetlać.
Nie cierpię tego edytora. Zresztą nie tylko ja.
A przez to że nie można sobie pokolorować treści programu (znakami kontrolnymi) - przy próbie wyświetlenia loadera, który ma kod programu wpisany w REM (częste w grach) potafi się zawiesić lub nawet zresetować.
Czy bardzo się trzeba namęczyć by w starym uzyskać to samo co w nowszym? :)
Ja muszę się namęczyć, żeby w nowym uzyskać to samo >:(
W 48 piszę dziesięć razy szybciej. Po pierwsze lepiej działa, po drugie komendy są jednym klawiszem (a po trzecie przyzwyczaiłem się ;))
-
Ano, różnica jest też taka że na 48kB ktoś coś robił i nadal robi w Basicu a na 128kB praktycznie nikt ;)
-
Jejku, zupełnie się nie spodziewałem takich odpowiedzi. I pierwsze słyszę o kolorowaniu lisingów, chciałbym to zobaczyć na jakimś screenie. Czytałem o tym gubieniu literek w testach pierwszego +2, a czy w tyn nowszych tego nie poprawili?
Tylko ramdysk i AY? - Hmm i to zajmuje aż 32KB dodatkowego miejsca? No bo 16KB to standardowy ROM w 48k, i jest w nim 80 parę komend, również 16KB zajmuje +3DOS (podobnie jak AMSDOS w CPC). A kolejne 32KB to tylko AY i ramdysk? No przecież program kalkulatora tyle nie zajmuje.
Do CPC jest w 32KB ROM SYMBOS system okienkowy wzorowany na Win95 z multitaskingiem okienkami ikonkami menusami i sterownikiem do twardych dysków. http://cpcwiki.eu/imgs/0/06/Symboscpc.gif
A bez takich cudów komendy do Ramdysku się doczytuje, bo nie ma ich w ROM i zajmują zależnie od wersji od pół do 2KB. Kompilatory do CPC w kilkunastu KB dają po kilkadziesiąt nowych komend, do tych ok 160 standardowych. Dlatego trudno mi uwierzyć że nie ma w tym nowszym Basicu ZX128 nic więcej. Czy ktoś wie co się w nich tak naprawdę mieści??
-
Hmm i to zajmuje aż 32KB dodatkowego miejsca?
A skąd wziąłeś te 32KB czyli w sumie 48kB?
Z tego co rozumiem Basic 128kB zajmuje 16 kB, tak samo jak Basic 48kB. Mieści się w jednej stronicy i można te wersje między sobą przełączać.
http://www.worldofspectrum.org/faq/reference/128kreference.htm
The memory map of these computers is:
0xffff +--------+--------+--------+--------+--------+--------+--------+--------+
| Bank 0 | Bank 1 | Bank 2 | Bank 3 | Bank 4 | Bank 5 | Bank 6 | Bank 7 |
| | |(also at| | |(also at| | |
| | | 0x8000)| | | 0x4000)| | |
| | | | | | screen | | screen |
0xc000 +--------+--------+--------+--------+--------+--------+--------+--------+
| Bank 2 | Any one of these pages may be switched in.
| |
| |
| |
0x8000 +--------+
| Bank 5 |
| |
| |
| screen |
0x4000 +--------+--------+
| ROM 0 | ROM 1 | Either ROM may be switched in.
| | |
| | |
| | |
0x0000 +--------+--------+
-
I pierwsze słyszę o kolorowaniu lisingów, chciałbym to zobaczyć na jakimś screenie.
Listing loadera z gry.
-
Hmm i to zajmuje aż 32KB dodatkowego miejsca?
A skąd wziąłeś te 32KB czyli w sumie 48kB?
Z tego co rozumiem Basic 128kB zajmuje 16 kB, tak samo jak Basic 48kB. Mieści się w jednej stronicy i można te wersje między sobą przełączać.
http://www.worldofspectrum.org/faq/reference/128kreference.htm
Na tej samej stornie, ale niżej, masz:
Memory
The basic principle of paging on the +2A and +3 is the same as for the 128K/+2. However, the +2A and +3 have four ROMs rather than two, and certain extra memory configurations.
Port 0x7ffd behaves in the almost exactly the same way as on the 128K/+2, with two exceptions:
Bit 4 is now the low bit of the ROM selection.
The partial decoding used is now slightly different: the hardware will respond only to those port addresses with bit 1 reset, bit 14 set and bit 15 reset (as opposed to just bits 1 and 15 reset on the 128K/+2).
The extra paging features of the +2A/+3 are controlled by port 0x1ffd (again, partial decoding applies here: the hardware will respond to all port addresses with bit 1 reset, bit 12 set and bits 13, 14 and 15 reset). This port is also write-only, and its last value should be saved at 0x5b67 (23399).
Port 0x1ffd responds as follows:
Bit 0: Paging mode. 0=normal, 1=special
Bit 1: In normal mode, ignored.
Bit 2: In normal mode, high bit of ROM selection. The four ROMs are:
ROM 0: 128k editor, menu system and self-test program
ROM 1: 128k syntax checker
ROM 2: +3DOS
ROM 3: 48 BASIC
Bit 3: Disk motor; 1=on, 0=off
Bit 4: Printer port strobe.
-
Na tej samej stornie, ale niżej, masz:
Ale tu mówimy o jeszcze innym modelu: +2A/+3. Rozumiem że oryginalne porównanie dotyczyło gumiaka i pierwszego 128kB.
Niemniej rozumiem z tego, choć są aż 4 ROMY to naraz jest włączony zawsze tylko jeden.
Nie wiem niestety jak to działa. Czy jak coś piszę w Basicu 128 kB to przy pracy z edytorem ustawiony jest jeden ROM a jak uruchamiam program to się przełącza na inny???
-
trojacek - sam sobie odpowiedziałeś w tym angielskim cytacie. :)
ROM 0: 128k editor, menu system and self-test program
ROM 1: 128k syntax checker
ROM 2: +3DOS
ROM 3: 48 BASIC
Z tego co wiem to wersja 128k i wczesne +2 miały po 32KB ROM, a te późniejsze +2 i +3 po 64KB. Rozumiem że stare 16KB to Basic i jakiś Kernel z procedurami do obsługi tych bebeszków które ZX ma. A +3DOS rozumiem że jest odpowiednikiem AMSDOS-a z CPC. Ale pozostałe dwa ROMy zastanawiają mnie, co tak właściwie w nich jest? Skoro słyszę opinie że ich obecność bardziej przeszkadza niż pomaga, a z dodatkowych komend za użyteczną wymienia się tylko PLAY.
http://www.fruitcake.plus.com/Sinclair/Spectrum128/ExtendedBASIC/Spectrum128ExtendedBASIC3.htm
Znalazłem coś takiego, podobno wystarczy wpisać komendę COMMANDS by wyświetlił spis nowych, co ciekawe nie ma wśród nich PLAY. Więc może to nie jest pełna lista. A że mowa tu o 128k to może w +3 są jeszcze inne. Ech łatwiej znaleźć w necie spis komend do Timexa 2068 niż do nowszych Spectrumów. ;)
-
http://www.fruitcake.plus.com/Sinclair/Spectrum128/ExtendedBASIC/Spectrum128ExtendedBASIC3.htm
Znalazłem coś takiego, podobno wystarczy wpisać komendę COMMANDS by wyświetlił spis nowych, co ciekawe nie ma wśród nich PLAY. Więc może to nie jest pełna lista. A że mowa tu o 128k to może w +3 są jeszcze inne. Ech łatwiej znaleźć w necie spis komend do Timexa 2068 niż do nowszych Spectrumów.
Nie wiem dokładnie co to jest ale wygląda mi to na "custom ROM" czyli coś co nie było w oryginalnych modelach Spectruma tylko zostało później stworzone przez jakiegoś hobbistę.
Co do instrukcji:
http://www.worldofspectrum.org/ZXSpectrum128Manual/
-
trojacek - sam sobie odpowiedziałeś w tym angielskim cytacie. :)
Ja nie pytałem. Ja tym cytatem rzucałem nowe światło na temat ;)
-
Nie wiem dokładnie co to jest ale wygląda mi to na "custom ROM" czyli coś co nie było w oryginalnych modelach Spectruma tylko zostało później stworzone przez jakiegoś hobbistę.
To po prostu rozszerzenie Basica wgrywane do RAM.
-
ROM48 to praktycznie kopia z 48k. Przeciez 128k daje sie przelaczyc w tryb 48k, tzw. USR 0.
A ROM128 to edytor ekranowy, menu + rozszerzenia Basica 48. W trybie 128k ROMy sa odpowiednio przelaczane podczas pracy. W +3 dochodzi 32k obslugi dysku. I ot cala filozofia. ZX i tak mial swietny BASIC, choc raczej wolny. W ZXie jest malo rzeczy przypadkowych, to naprawde arcydzielo sztuki kompromisu :D
-
To DOS zajmuje aż 32KB? Pierwsze słyszę. Myślałem że nawet wersja z +3e mieści się w zmodyfikowanym 16KB a ma w sobie nawet obsługę gęstych dyskietek w tym TOSowych oraz twardzieli. Podobnie Parados w CPC z obsługą gęstych stacji mieści się w 16KB AMSDOSa bo ten nie zajmował w pełni tych 16KB.
http://www.fruitcake.plus.com/Sinclair/Spectrum128/ROMDisassembly/Spectrum128ROMDisassembly3.htm
Tu znalazłem ciekawą informację że hiszpańska wersja 128k ma dodatkowe komendy EDIT, RENUMBER, DELETE i WIDTH.
Gdzieś kiedyś czytałem o komendach dyskowych w +3 takich jak FORMAT czy COPY np do ramdysku. Pamiętam że zazdrościłem tego Spectrumowcom bo w CPC trzeba sobie takie komendy dograć. Wiem że te komendy istnieją też w Basicu 48k ale robią w nim co innego. A może ich działanie w 128k zostało zmodyfikowane mimo że używa się tego samego tokenu. Zakręciłem się. :-|
-
+3DOS zajmuje 16 KB :)
A FORMAT i COPY są używane przez wiele DOS-ów, m.in. timexowy TOS. I są to dokładnie te same tokeny, bo przecież funkcjonują w Basicu 48. Tylko się do nich gwiazdkę dopisuje.
-
FORMAT, ERASE, MOVE, CAT w Spectrum 48K były zaprojektowane do firmowej pamięci Sinclaira - microdrive. Oczywiście nie działają na gołym komputerze, dopiero po podłączeniu Interface 1.
A skoro już są takie komendy, to wszyscy ich używają: OPUS Discovery, TIMEX FDD3000, MUEL, DISCiPLE, +D, +3, itd.
Dopisuje się w zależności od inwencji projektanta systemu dyskowego gwiazdkę (Timex), numer napędu (+D), jedno i drugie (OPUS), literę napędu (+3) lub jeszcze inną kombinację.
A COPY to wydruk ekranu na drukarce ZX Printer ;D
-
Tak jak zostało powiedziane - ramdysk i obsługa AY, zresztą nie pozwalająca na zbyt wiele, trochę jak obsługa głośniczka komendą BEEP.
kiedyś do YS, chyba w 1991 roku była dołączona kaseta z programem w basic 128, używającym komend PLAY. Grało na trzech kanałach i muszę przyznać że ładnie to brzmiało. Jak się nie mylę to napisał tę muzę niejaki Richard Braithwaite. Gdzieś powinienem mieć na dysku....
-
znalazłem na WOS :D:
http://www.worldofspectrum.org/infoseekid.cgi?id=0007877
przyjemnego słuchania.
-
Bo, wbrew pozorom, komenda PLAY potrafi całkiem sporo - nie tylko definiuje wysokość i długość dźwięku, ale również pozwala wybierać obwiednie i używać szumu.
http://www.worldofspectrum.org/ZXSpectrum128+3Manual/chapter8pt19.html
-
+3DOS zajmuje 16K, ale to sa same operacje dyskowe. Zeby dodac obsluge w BASICu doszlo kolejne 16KB.
Warto tu wspomniec o ROMach +3E - z obsluga interfejsu IDE. Instalujac te ROMY razem z np. divIDE (bez firmware).
Mamy ZX Spectrum +3 z HDD (w szczegolnosci z karta CF).
-
ROM dla 128k zajmuje aż tyle dlatego, że oprócz zmienionego edytora, menu przy starcie, co najmniej 2 nowych instrukcji, jest prawie w całości skopiowany ROM z 48. Instrukcje które znam to SPECTRUM - przełączenie w tryb edytora 48k bez utraty danych, PLAY - nie mam pojęcia jak jej używać do wydobycia dźwięku z AY, a także możliwość użycia USR bez poprzedzającej go instrukcji. Ten ROM wygląda na robiony na szybkiego, nie poprawiono w nim błędów z 48, nawet tak karygodnego jak niemożliwość użycia przerwań NMI
Interesują mnie najbardziej dodatkowe zmienne systemowe umieszczone pod 23296, czy ma ktoś ich wykaz z opisem?
Jakie są podstawowe parametry instrukcji PLAY? Gdy zobaczyłem poniższy listing, to nie wiem czy warto o to pytać.
Pochodzi on z demo Bach i gra muzykę klasyczną na najbardziej prymitywnych brzmieniach.
-
Zmienne systemowe +3: http://www.worldofspectrum.org/ZXSpectrum128+3Manual/chapter8pt25.html (http://www.worldofspectrum.org/ZXSpectrum128+3Manual/chapter8pt25.html)
A na tej stronie jest 128 (zwykły) ROM Disassembly. Na początku są różne szczegóły, oraz zmienne systemowe:
http://www.fruitcake.plus.com/Sinclair/Spectrum128/ROMDisassembly/Spectrum128ROMDisassembly.htm (http://www.fruitcake.plus.com/Sinclair/Spectrum128/ROMDisassembly/Spectrum128ROMDisassembly.htm)
-
Dokładny opis komendy PLAY w ZX128K.
http://www.worldofspectrum.org/ZXSpectrum128+3Manual/chapter8pt19.html
-
Kiedyś już o to pytałem ale dyskusja poszła w innym kierunku.
Chodzi mi o hiszpańskiego 128K i jego ekstra komendy EDIT, RENUMBER, DELETE i WIDTH.
Czy ktoś się orientuje pod jakimi kodami i pod jakimi kombinacjami klawiszy są te komendy?
Bo znajduję wspominki że one istnieją, a nawet jak działają, ale nie to gdzie są.
-
Hmm, nie wiem, czy dobrze rozumiem Twoje pytanie - o jakie kody komend Ci chodzi? Takie, jak dla komend Basic 48?
EDIT, RENUMBER, DELETE i WIDTH nie są poleceniami Basica, tylko edytora, więc nie są tzw. tokenami (nie mają swoich kodów ASCII przedziale 128-255). Wpisuje się je po literce, więc nie masz ich co szukać na klawiaturze.
W toastracku UK przeorganizowano edytor trybu 128, więc tych poleceń tam już nie ma, pojawiło się za to podręczne menu, wywoływane klawiszem [EDIT].
Jeśli bardzo Ci na tym zależy, to w najbliższych dniach mogę zweryfikować to, co napisałem powyżej. O ile mój hiszpański toastrack nadal działa.
-
Polecenia SPECTRUM i PLAY też są dostępne tylko w trybie 128 wklepywane po literce, a jednak mają swoje tokeny, jako 2 ostatnie UDG. Musiałbym sobie hiszpańskiego ROMa poszukać i sprawdzić pod emulcem.
-
PLAY na pewno ma swój kod, bo stanowi element języka, a nie edytora. Co do SPECTRUM to nie mam pewności, ale możliwe, że masz rację.
-
Jest jeszcze jedna przykra różnica - gdzieś czytałem, że programy uruchamiane w BASIC 128 działają zauważalnie (kilkanaście procent) wolniej niż w starym BASIC 48. Nie pamiętam jaka jest przyczyna.
-
https://www.speccy.pl/forum/index.php?topic=2715.msg37814#msg37814
Z tego testu wynika że jest o ok 9% albo i 10% wolniejszy. Podobno część cykli procka zużywa na przełączanie sobie dwóch ROMów, a część procedur ma w jednym a część w drugim.