Autor Wątek: Różnice w BASIC 48k a 128k  (Przeczytany 21951 razy)

ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Różnice w BASIC 48k a 128k
« dnia: 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? :)
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)

Gryzor

  • *****
  • Wiadomości: 2009
  • Miejsce pobytu:
    Warszawa
Odp: Różnice w BASIC 48k a 128k
« Odpowiedź #1 dnia: 2013.09.10, 10:02:09 »
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.

RafalM

  • *****
  • Wiadomości: 1133
  • Miejsce pobytu:
    Sulejówek
Odp: Różnice w BASIC 48k a 128k
« Odpowiedź #2 dnia: 2013.09.10, 10:11:12 »
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.

Phonex

  • *****
  • Wiadomości: 1260
  • Miejsce pobytu:
    Warszawa
Odp: Różnice w BASIC 48k a 128k
« Odpowiedź #3 dnia: 2013.09.10, 10:31:25 »
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ę ;))

RafalM

  • *****
  • Wiadomości: 1133
  • Miejsce pobytu:
    Sulejówek
Odp: Różnice w BASIC 48k a 128k
« Odpowiedź #4 dnia: 2013.09.10, 14:38:02 »
Ano, różnica jest też taka że na 48kB ktoś coś robił i nadal robi w Basicu a na 128kB praktycznie nikt ;)


ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Odp: Różnice w BASIC 48k a 128k
« Odpowiedź #5 dnia: 2013.09.10, 15:55:22 »
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??
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)

RafalM

  • *****
  • Wiadomości: 1133
  • Miejsce pobytu:
    Sulejówek
Odp: Różnice w BASIC 48k a 128k
« Odpowiedź #6 dnia: 2013.09.10, 16:24:23 »
Cytuj
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 +--------+--------+

Phonex

  • *****
  • Wiadomości: 1260
  • Miejsce pobytu:
    Warszawa
Odp: Różnice w BASIC 48k a 128k
« Odpowiedź #7 dnia: 2013.09.10, 16:47:56 »
I pierwsze słyszę o kolorowaniu lisingów, chciałbym to zobaczyć na jakimś screenie.

Listing loadera z gry.

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: Różnice w BASIC 48k a 128k
« Odpowiedź #8 dnia: 2013.09.10, 17:20:25 »
Cytuj
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:

Cytuj
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.

RafalM

  • *****
  • Wiadomości: 1133
  • Miejsce pobytu:
    Sulejówek
Odp: Różnice w BASIC 48k a 128k
« Odpowiedź #9 dnia: 2013.09.10, 19:36:21 »
Cytuj
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???

ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Odp: Różnice w BASIC 48k a 128k
« Odpowiedź #10 dnia: 2013.09.10, 21:29:02 »
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. ;)
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)

RafalM

  • *****
  • Wiadomości: 1133
  • Miejsce pobytu:
    Sulejówek
Odp: Różnice w BASIC 48k a 128k
« Odpowiedź #11 dnia: 2013.09.10, 21:39:24 »
Cytuj
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

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: Różnice w BASIC 48k a 128k
« Odpowiedź #12 dnia: 2013.09.10, 21:40:45 »
trojacek - sam sobie odpowiedziałeś w tym angielskim cytacie. :)

Ja nie pytałem. Ja tym cytatem rzucałem nowe światło na temat ;)

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: Różnice w BASIC 48k a 128k
« Odpowiedź #13 dnia: 2013.09.10, 21:48:06 »

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.

Gryzor

  • *****
  • Wiadomości: 2009
  • Miejsce pobytu:
    Warszawa
Odp: Różnice w BASIC 48k a 128k
« Odpowiedź #14 dnia: 2013.09.10, 22:10:00 »
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