Autor Wątek: Programowanie w BASIC + kompilator  (Przeczytany 9980 razy)

LordFarfocel

  • ***
  • Wiadomości: 119
Programowanie w BASIC + kompilator
« dnia: 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).

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4537
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Programowanie w BASIC + kompilator
« Odpowiedź #1 dnia: 2017.06.08, 07:46:13 »
.. to ja postaram się opublikować pierwszy artykuł opisujący BASIn.

smok.wawelski

  • ***
  • Wiadomości: 225
  • Miejsce pobytu:
    Warszawa
Odp: Programowanie w BASIC + kompilator
« Odpowiedź #2 dnia: 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 ...

matofesi

  • *****
  • Wiadomości: 2048
  • Miejsce pobytu:
    Toruń/Poland
Odp: Programowanie w BASIC + kompilator
« Odpowiedź #3 dnia: 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.

tooloud

  • *****
  • Wiadomości: 3185
  • Miejsce pobytu:
    Warszawa
  • mydłem go!
Odp: Programowanie w BASIC + kompilator
« Odpowiedź #4 dnia: 2017.06.08, 09:04:20 »
kurcze - może czas na porównanie interpreterów i kompilatorów...
dużo sprzętu mało czasu.

Gryzor

  • *****
  • Wiadomości: 2009
  • Miejsce pobytu:
    Warszawa
Odp: Programowanie w BASIC + kompilator
« Odpowiedź #5 dnia: 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



RafalM

  • *****
  • Wiadomości: 1133
  • Miejsce pobytu:
    Sulejówek
Odp: Programowanie w BASIC + kompilator
« Odpowiedź #6 dnia: 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.

tooloud

  • *****
  • Wiadomości: 3185
  • Miejsce pobytu:
    Warszawa
  • mydłem go!
Odp: Programowanie w BASIC + kompilator
« Odpowiedź #7 dnia: 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.
dużo sprzętu mało czasu.

Gryzor

  • *****
  • Wiadomości: 2009
  • Miejsce pobytu:
    Warszawa
Odp: Programowanie w BASIC + kompilator
« Odpowiedź #8 dnia: 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.


smok.wawelski

  • ***
  • Wiadomości: 225
  • Miejsce pobytu:
    Warszawa
Odp: Programowanie w BASIC + kompilator
« Odpowiedź #9 dnia: 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.

LordFarfocel

  • ***
  • Wiadomości: 119
Odp: Programowanie w BASIC + kompilator
« Odpowiedź #10 dnia: 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...

smok.wawelski

  • ***
  • Wiadomości: 225
  • Miejsce pobytu:
    Warszawa
Odp: Programowanie w BASIC + kompilator
« Odpowiedź #11 dnia: 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.

RafalM

  • *****
  • Wiadomości: 1133
  • Miejsce pobytu:
    Sulejówek
Odp: Programowanie w BASIC + kompilator
« Odpowiedź #12 dnia: 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 ;)

LordFarfocel

  • ***
  • Wiadomości: 119
Odp: Programowanie w BASIC + kompilator
« Odpowiedź #13 dnia: 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...

smok.wawelski

  • ***
  • Wiadomości: 225
  • Miejsce pobytu:
    Warszawa
Odp: Programowanie w BASIC + kompilator
« Odpowiedź #14 dnia: 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...