Autor Wątek: ZX Spectrum i język C  (Przeczytany 5508 razy)

LaPi

  • *
  • Wiadomości: 25
ZX Spectrum i język C
« dnia: 2024.10.10, 12:08:57 »
Witam.
Jak wygląda praktycznie programowanie w C na Spectrum?

steev

  • *****
  • Wiadomości: 1409
  • Miejsce pobytu:
    inode 42
Odp: ZX Spectrum i język C
« Odpowiedź #1 dnia: 2024.10.10, 13:03:54 »
Nooo.... jeśli chodzi Ci o "odpalam Spectrum i piszę w C", to HiSoft C.
Jeśli chodzi Ci o "piszę w C i odpalam na Spectrum", to SDCC i z88dk.
Machines should work. People should think.

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4584
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: ZX Spectrum i język C
« Odpowiedź #2 dnia: 2024.10.13, 11:10:36 »
Jeżeli chodzi o cross-complatory to nawet powstał o tym artykuł, dostępny na portalu: https://speccy.pl/articles.php?article_id=22

Łukasz Stilon

  • *
  • Wiadomości: 5
  • Miejsce pobytu:
    Kraków
Odp: ZX Spectrum i język C
« Odpowiedź #3 dnia: 2024.10.22, 20:41:07 »
Ostatnio bawiłem się Z88DK. Sporo możliwości. Przęłączając odpowiednie parametry w konfiguracji można np. od razu wygenerować kod, który obsługuje np. małą czcionkę. Wygenerowany kod maszynowy jest tylko niewiele większy, niż pisany w Assemblerze.

https://github.com/z88dk/z88dk/blob/master/doc/ZXSpectrumZSDCCnewlib_GettingStartedGuide.md

tooloud

  • *****
  • Wiadomości: 3205
  • Miejsce pobytu:
    Warszawa
  • mydłem go!
Odp: ZX Spectrum i język C
« Odpowiedź #4 dnia: 2024.10.26, 13:46:42 »
Ostatnio bawiłem się Z88DK. Sporo możliwości. Przęłączając odpowiednie parametry w konfiguracji można np. od razu wygenerować kod, który obsługuje np. małą czcionkę. Wygenerowany kod maszynowy jest tylko niewiele większy, niż pisany w Assemblerze.

https://github.com/z88dk/z88dk/blob/master/doc/ZXSpectrumZSDCCnewlib_GettingStartedGuide.md

Im większy projekt tym pewnie wielkość skompilowanego projektu w C vs Assembler jest bardziej wybaczalna, ale generalnie... im prostsze i mniejsze rzeczy tym długość kodu w C będzie dramatycznie większa po skompilowaniu vs napisane w Assemblerze - a dramatyzm polega na ilości pamięci jaką realnie mamy w 8bitowcach. 24k vs 16k w kompie z 64GB RAM nie robi tematu, w ZXie robi :)

Ile zajmie Hello World w normalnej defaultowej czcionce Łukasz (czyli bez tego 64 kolumnowego renderowania)? vs maszynówka. W C też możesz użyć procki z ROMu, żeby było porównywalne :)
dużo sprzętu mało czasu.

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4584
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: ZX Spectrum i język C
« Odpowiedź #5 dnia: 2024.10.28, 17:20:18 »
ogólnie Z88dk to fajny cross-compilator (na początku lat 2000 utrzymywałem paczkę debianową z nim).

Z jego pomocą napisaliśmy (i wygraliśmy cały konkurs, przy okazji ;) grę na ZX Spectrum podczas Pixel Heaven game jam 2019.

Świetnie nadaje się na pisanie programów na Nexta dzięki temu że jest udostępnionych kilka bibliotek do obslugi sprite i trybów graficznych.