forum speccy.pl

ZX Spectrum => PROGRAMOWANIE => Wątek zaczęty przez: LordFarfocel w 2017.06.07, 23:54:23

Tytuł: Programowanie w BASIC + kompilator
Wiadomość wysłana przez: LordFarfocel w 2017.06.07, 23:54:23
Przeglądałem wątki w dziale "PROGRAMOWANIE" i chciałbym się dowiedzieć jak wygląda AKTUALNIE najlepsza opcja dla kogoś kto chciałby poprogramować "na sucho" bez spectruma pod ręką. Jako że pewnie jeszcze zejdzie się z miesiąc nim będę miał w końcu swój sprzęt a już mnie korci żeby coś porobić...

O co mi dokładnie chodzi. Dawno, dawno temu  ;) jak zaczynałem i później pisałem już programy (asm, LOGO, BASIC) to bardzo podobało mi się jak po napisaniu i sprawdzeniu programu w BASICu mogłem go sobie skompilować do kodu maszynowego i uruchamiać sobie taki kod (kompilator którego używałem miał w nazwie słowo TOBOS). I teraz pytanie czy znajdę jakiś odpowiednik pod Windows tzn. jakieś IDE w którym mógłbym pisać w oryginalnym SINCLAIR BASIC, uruchomić taki program w wbudowanym emulatorze a po wszystkim wygenerować spod tego IDE kod maszynowy który mógłbym zapisać jako np. plik TAP ? Byłoby to najlepsze rozwiązanie dla mnie. Jeżeli możliwe to jest tylko w oddzielnych modułach to też mogłoby być jakby nie było jakieś super uciążliwe. Wiem że na przykład istnieje coś takiego jak na stronie boriel ale mi chodzi o rzeczy sprawdzone przez Was (wiem że Tygrys chciał zrobić nawet jakiś tutorial).
Tytuł: Odp: Programowanie w BASIC + kompilator
Wiadomość wysłana przez: Tygrys w 2017.06.08, 07:46:13
.. to ja postaram się opublikować pierwszy artykuł opisujący BASIn.
Tytuł: Odp: Programowanie w BASIC + kompilator
Wiadomość wysłana przez: smok.wawelski w 2017.06.08, 08:13:26
Boriel ZX Basic jest tym, czego szukasz. Nie jest idealny ale można sporo zrobić. Żałuję, że nie miałem go "pod ręką" te 30 lat temu ...
Tytuł: Odp: Programowanie w BASIC + kompilator
Wiadomość wysłana przez: matofesi w 2017.06.08, 08:48:02
OFF-TOPIC: Tobos nie kompilował do kodu maszynowego tylko do kodu pośredniego uruchamianego potem przy użyciu szybkiego interpretera i znacznie szybszych niż oryginalne bibliotek.
Tytuł: Odp: Programowanie w BASIC + kompilator
Wiadomość wysłana przez: tooloud w 2017.06.08, 09:04:20
kurcze - może czas na porównanie interpreterów i kompilatorów...
Tytuł: Odp: Programowanie w BASIC + kompilator
Wiadomość wysłana przez: Gryzor w 2017.06.08, 09:29:23
Boriel kompiluje wiekszosc programow w BASICu - nie ma wiekszego sensu bawic sie BASin.
Poza tym od razu mozna przejsc na poziom assemblera, choc jak dla mnie powstaja wtedy pogmatwane konstrukcje.
Ewentualne C:
https://www.z88dk.org/forum/index.php


Tytuł: Odp: Programowanie w BASIC + kompilator
Wiadomość wysłana przez: RafalM w 2017.06.08, 11:20:24
Basin jakoś mi nigdy nie podpasował. Niby wszystko jest a jakiś ten interfejs był dla mnie toporny i niewygodny. Może za bardzo próbował naśladować oryginalne Spectrum.

Są jakieś narzędzia które pozwalają zaimportować do emulatora kod Basica napisany w dowolnym edytorze tekstowym. Ale oczywiście podczas pisania nie ma wtedy żadnej kontroli składni. Później można to próbować czymś kompliować, choćby wpsomnianym Tobosem (jest na World of Spectrum).

O Borielu wiem tyle że jest. Chętnie sam poczytam o tym jakie ludzie mają z nim doświadczenia.
Tytuł: Odp: Programowanie w BASIC + kompilator
Wiadomość wysłana przez: tooloud w 2017.06.08, 13:28:50
to chyba Hisoft jest o tyle lepszy że kompiluje do kodu maszynowego z tego co czytałem.

czyli Tobos trzeba by zapisać z pamięci razem z kodem po kompilacji i dopiero to jako całość ładować? przyznam się że poległem w tym miejscu.
Tytuł: Odp: Programowanie w BASIC + kompilator
Wiadomość wysłana przez: Gryzor w 2017.06.08, 14:18:56
Tobosa brac ze speccy.pl, na WoS jest chyba starsza wersja.
TobosFP byl najlepszym uniwersalnym kompilatorem Basica na 48K ( nie bylo 128k), inne beda szybsze np. na liczbach calkowitych,
ale wymaga to specjalnego zapisu w kodzie. Z interpreterow godny uwagi byl Beta-Basic, ale nie mial mozliwosci kompilacji.

W Borielu napisano calkiem sporo gier i programow, czesc jest tu:
http://www.boriel.com/wiki/en/index.php/ZX_BASIC:Released_Programs#.2B3e_FileBrowser

Wystarczy poogladac kod zrodlowy. Kod generowany jest dobry/bardzo dobry. Robilem porownanie z SDCC i Boriel wygrywal.

Tytuł: Odp: Programowanie w BASIC + kompilator
Wiadomość wysłana przez: smok.wawelski w 2017.06.08, 15:58:19
Ostatnie moje wyzwanie programistyczne powstało właśnie w Borielu. Pisze się szybko, nie ma konieczności używania numerów linii, są funkcje i procedury, wstawki ASM. Osobiście niczego mi nie brakuje oprócz obsługi 128K out of the box. Do tego powstało sporo bibliotek (kompresja, sprite'y, scrollowanie ekranu itp). Jestem w trakcie pisania tutoriala więc większy opis pojawi się wkrótce na stronie speccy.pl.
Tytuł: Odp: Programowanie w BASIC + kompilator
Wiadomość wysłana przez: LordFarfocel w 2017.06.10, 00:23:21
A czego używać jako edytora (IDE) przy borielu ? Na stronie są tylko kompilatory, jest wspomniane coś o jakimś TommyGun ale wszystkie linki do tego są martwe...
Tytuł: Odp: Programowanie w BASIC + kompilator
Wiadomość wysłana przez: smok.wawelski w 2017.06.10, 10:59:25
Ja po prostu piszę w Notepad++ i mam plik .bat, którym kompiluję. Może to staroświeckie rozwiązanie ale działa bardzo dobrze. Wynikowy plik .tap odpalam pod Fuse i to działa bardzo sprawnie.
Tommygun faktycznie wygląda na martwy projekt.
Tytuł: Odp: Programowanie w BASIC + kompilator
Wiadomość wysłana przez: RafalM w 2017.06.10, 14:50:00
Cytuj
Ja po prostu piszę w Notepad++ i mam plik .bat, którym kompiluję. Może to staroświeckie rozwiązanie ale działa bardzo dobrze.

W świecie Spectrum to nie jest staroświeckie rozwiązanie. Praktycznie wszystko tak działa - jest sobie jakiś kompilator który jest tak naprawdę plikiem .exe który przyjmuje jeden plik za parametr a wypluwa drugi plik. I tyle. Interfejs programisty musimy sobie zorganizować sami. Z jednej strony to źle, z drugiej dobrze - możemy użyć naszego ulubionego edytora tekstu do którego jesteśmy przyzwyczajeni.

Były próby stworzenia kompleksowego środowiska z własnym interfejsem do tworzenia gier typu ten Tommy Gun i jeszcze inne ale rezultaty nie były zadowalające - więcej było pieprzenia się z narzędziem, jego błędami i ograniczeniami niż pożytku.

Staroświeckie zaś w 2017 roku jest tworzenie na prawdziwym Spectrum bądź w emulatorze i używanie programów z lat 80-tych typu Tobos, Copy-Copy, Laser Basic, Zeus...

A jeśli chcemy być staroświeccy level 100 master to piszemy program w asemblerze na kartce, ręcznie zamieniamy instrukcje na kody a do Spectruma wklepujemy ciągi cyfr ;)
Tytuł: Odp: Programowanie w BASIC + kompilator
Wiadomość wysłana przez: LordFarfocel w 2017.06.10, 21:37:31
Ja po prostu piszę w Notepad++ i mam plik .bat, którym kompiluję.
Popatrzę na to jeszcze bo w typ przypadku nie mamy kontroli składni w trakcie pisania, w BASIN to wszystko co mi jest potrzebne to widzę że jest w komplecie (rozpoznaje dopiero ten soft). Tak czy inaczej mam jedno i drugie i będę sprawdzał jak to się sprawuje. Kiedyś hardkor mi nie przeszkadzał ale teraz chcę mieć wygodę bo piszę to hobbystycznie przecież  ;)

Staroświeckie zaś w 2017 roku jest tworzenie na prawdziwym Spectrum bądź w emulatorze i używanie programów z lat 80-tych typu Tobos, Copy-Copy, Laser Basic, Zeus...

A jeśli chcemy być staroświeccy level 100 master to piszemy program w asemblerze na kartce, ręcznie zamieniamy instrukcje na kody a do Spectruma wklepujemy ciągi cyfr ;)
Tutaj raczej bym się z Tobą zgodził, chociaż pewnie i tak będę coś pisał jak już będę miał swój sprzęt na stole (tak już mam od zawsze...).

A jeśli chodzi o pisaniu w asemblerze na kartce i ręcznym generowaniu kodu maszynowego to jakiś czas temu przy okazji przeglądania starych papierów znalazłem swój zeszyt w którym to robiłem... Nie były to co prawda długie programy (ćwiczyłem posiłkując się książeczką "ABC asemblera" R.Wacławka) ale fakt pozostaje faktem, byłem hardkorem...
Tytuł: Odp: Programowanie w BASIC + kompilator
Wiadomość wysłana przez: smok.wawelski w 2017.06.14, 15:15:49
Notepad++ zapewnia Ci kolorowanie składni BASICa, pokazuje też niezamknięte funkcje czy nawiasy. Sam BASIC jest dość prostym językiem, więc nie powinno być problemu z kontrolą składni, szczególnie jeśli kiedyś pisałeś w ASM...
Tytuł: Odp: Programowanie w BASIC + kompilator
Wiadomość wysłana przez: LordFarfocel w 2017.06.14, 16:10:12
Instaluję u siebie obydwa rozwiązania. Boriela sprawdzę sobie z Notepadem++ i PSPadem. W BASIN wpisuje się to wszystko rzeczywiście do czegoś w rodzaju spectrumowego emulatora ale jakieś mało poręczne się to wydaje (taki gadżet). Przy okazji zauważyłem że potrafi się to zablokować/zawiesić przy okazji... Zastanowiła mnie w BASIN opcja assemble. Sprawdziłem to sobie generując sobie plik asm z programu który zawierał tylko jedną linijkę:
10 PRINT "HELLO WORLD"

W odpowiedzi otrzymałem coś takiego:
Line10:
          RET

i definicja łańcucha w pamięci DEFB "HELLO WORLD"
Jak na moje oko to coś za krótki ten kod  ;)

Potem próbowałem wpisać coś z "drugiej strony" czyli napisać coś w asm i załadować do pamięci emulatora i tu kolejny zonk bo jeżeli na przykład operację LD A,($3456) dawało się wpisać to już LD ($3456),A nie... To tak pobieżnie bo nie mam zamiaru w tym pisać w asemblerze. Podaję to jako ciekawostkę i czekam na tutoriala od Tygrysa  :D bo mimo wszystko wydaje się całkiem fajnym softem a za dużego wyboru nie mamy jeśli chodzi o programowanie spectruma na PC...
Tytuł: Odp: Programowanie w BASIC + kompilator
Wiadomość wysłana przez: kraf101 w 2017.08.28, 21:27:52
Ja użyłem HisoftBasic. Snap z kompilatorem i wynikiem jego działania jest załączony do mojego postu powitalnego.
Pozdr