forum speccy.pl

ZX Spectrum => PROGRAMOWANIE => Wątek zaczęty przez: Tygrys w 2017.05.10, 07:26:54

Tytuł: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.05.10, 07:26:54
Dawno nie było wyzwania (które zastąpiło konkurs) dla programistów.

Czy ktoś ma pomysł, co tym razem mogłoby być tematem?
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: tooloud w 2017.05.10, 08:59:05
nie wyglądajmy przez okno bo wyjdzie, że znowu deszcz.

może coś z liczbą 35 jako że mamy 35lecie speccy??
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: ZX Freeq w 2017.05.10, 09:03:27
Że do 35 bajtów? Trochę mało ;)
A może mini-demko trwające dokładnie 35 sekund?
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Damianx w 2017.05.10, 09:07:10
Albo gfx demo z 35 grafikami z tematem spectrum ?
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: smok.wawelski w 2017.05.10, 10:45:42
nie wyglądajmy przez okno bo wyjdzie, że znowu deszcz.

Chyba śnieg...

A na poważnie: myślę, że warto bardziej sprecyzować temat, bo "35 sekundowe demo" to chyba nie jest temat "na wyzwanie programistyczne"? Tym bardziej demo graficzne, w którym wyzwanie jest raczej dla grafika niż dla programisty?
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: pear w 2017.05.10, 10:57:18
Liczba 35 może pozostać tematem przewodnim 8)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: tooloud w 2017.05.10, 11:17:22
nawiązanie do liczby 35 dale pole do popisu.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: popocop w 2017.05.10, 11:34:55
Może program generujący na ekranie liczbę 35 w ciekawy sposób. Liczy się efekt pojawiania na ekranie i wygląd samej liczby. Można wprowadzić maksymalny dopuszczalny rozmiar pliku.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: silenter w 2017.05.10, 11:37:52
myślę że w grę wchodzą następujące wariacje:
‭23‬
‭35‬
‭43‬
‭00100011‬
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Maryjan w 2017.05.10, 12:37:59
35 - scroll-i
35 - sprite-ów
35 - wskażników od AY-ka
35 - slide-ów
35 - pokazania możliwości  zastosowania ZX Spectrum :)

Tematów jest wiele...
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: silenter w 2017.05.10, 12:44:39
zgadnijcie ile znaków ma poniższy równoważnik zdania :)

zx spectrum trzydzieści pięć lat
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.05.11, 20:07:39
Pomysł z 35 oraz propozycje tego co to ma być są na prawdę świetne! Moim zdaniem temat 35 lecia powinien być przewodnim. W jaki sposób to będzie zrealizowane - niech to już będzie w kwestii wykonawcy. To nie musi być coś wielkiego, w końcu wyzwania nie muszą być wyczerpujące, a wręcz powinny zachęcać do dalszej zabawy.

Proponuję zatem aby:
- motyw, liczba 35 pojawiła się w programie.
- terminem końcowym 'developmentu' był 4 czerwca 2017, a po tym terminie publikujemy w tym wątku swoje dzieła.
- dowolny język programowania na dowolną platformę sprzętową, którą tu się zajmujemy
- bez ograniczeń chwalimy się postępami w z prac, tak by dopingować innych

Liczę że do zabawy również przyłączą się również osoby, które od lat deklarują umiejętność programowania, a jakoś nie miały okazji się wykazać ;)

Co o tym sądzicie?
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: tooloud w 2017.05.11, 21:18:08
ja już klikam :)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: ZX Freeq w 2017.05.11, 23:43:17
Ok, postaram się coś skrobnąć.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Phonex w 2017.05.12, 14:41:43
Najtrudniejsza opcja - wymyśl coś!
Na dodatek coś, co możesz napisać. Jak jest konkretny temat, to się po prostu pisze... No dobra, sprôbuję.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: smok.wawelski w 2017.05.12, 15:27:13
I w dodatku musisz określić maszynę, na której to napiszesz. Nie ułatwiłeś nam życia Tygrys ;)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: silenter w 2017.05.12, 15:30:27
Ja gdybym miał chwilę czasu to napisałbym taki program na Timexa, że tak obciążył bym system, że diodka power mignęła by 35 razy :)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.05.12, 15:35:53
Nie ma co narzekać ;) Padło na prawdę wiele pomysłów, można wykorzystać jeden z nich albo wszystkie ;-)
co to komputerów - być może ktoś zechciałby napisać coś na CPC albo Enterprise, a może Sam Coupe lub ZX81, nie ma co ograniczać się tylko do ZX.

Tak czy inaczej, ja póki co nie mam wciaż skrystalizowanego pomysłu, choć pewnie zdecyduje się na coś wcześniej zaproponowanych,.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.05.16, 21:06:34
Jak Wam idzie? ;-)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: steev w 2017.05.16, 23:40:45
Nieźle.
Mam świetny pomysł, który wymaga ode mnie umiejętności których nie posiadam, oraz czasu którego nie mam.
What could possibly go wrong? :)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: ZX Freeq w 2017.05.17, 08:16:17
Jak Wam idzie? ;-)

Idea jest, pomysł jak ją zrealiować w ASM, mniej więcej jest, tzn wróć. W Pseudo-code jest, w ASM dopiero będzie. :)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: tooloud w 2017.05.17, 08:32:05
tia, to jak ja - jest pomysł, oczywiście sobie rozrysowałem, potrzebuję jakieś dwa lata na naukę assemblera Z80 żeby to zrobić. Więc będzie coś prostszego.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: ZX Freeq w 2017.05.17, 08:35:09
Nie ma obowiązku pisania w ASM. :)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: tooloud w 2017.05.17, 09:08:26
niby tak, myślisz, że w BASICu zajmie mi to mniej? :)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.05.17, 09:10:48
Ja zrezygnowałem z większości pomysłów i zajmę się pomysłem który rzucił popocop. Przyjąłem wersje minimum, tzn że '35' ma się wyłaniać z czeluści. Wersja płynna/ulepszona jak starczy czasu ;-)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: KWF w 2017.05.17, 09:26:21
Podziwiam Was i trzymam kciuki za wszystkie pomysły oraz ich realizację.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.05.17, 09:29:03
A może zamiast trzymania kciuków też być coś napisał? BASIC, asm, C, co tam wolisz ;)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: KWF w 2017.05.17, 09:32:17
Z języków jako tako radzę sobie tylko z polskim i angielskim, reszta dla mnie jest czarną magią.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: pear w 2017.05.17, 09:33:21
BASIC to taki uproszczony angielski. Dasz radę ;)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: smok.wawelski w 2017.05.17, 10:14:05
Czy BASIN lub SpecOS/SpecBas też wchodzi w grę?

PS. Ja mam pomysł na tekstówę ale widzę, że już utknąłem w kompresorze obrazków i tekstów, a jeszcze nie zacząłem pisać. Piekło perfekcjonistów :(
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.05.17, 10:19:12
... w sumie, nie ma się co ograniczać. Jeżeli nie dasz rady tego zrobić na Spectrum, to i SpecBas  może być ;)
A co do braku pamięci - może ZX128?
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: matofesi w 2017.05.17, 10:37:16
A co do braku pamięci - może ZX128?

<off-topic>
Albo może w końcu ktoś skorzysta z możliwości jakie daje DivIDE/DivMMC z esxdosem ;)
</off-topic>
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: smok.wawelski w 2017.05.17, 20:35:38
A co do braku pamięci - może ZX128?

Czy wystarczy, że sobie przełączę banki pamięci? Czy są jakieś pułapki na 128K związane z korzystaniem z tej dodatkowej pamięci?
Rozumiem, że musze to zrobić w ASM:

     LD      A,(0x5b5c)      ;Previous value of port
     AND     0xf8
     OR      4               ;Select bank 4
     LD      BC,0x7ffd
     DI
     LD      (0x5b5c),A
     OUT     (C),A
     EI
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.05.17, 20:38:42
To co jest poprawne, pod warunkiem że chcesz być zgodny z BASICiem, później do niego wracać itp.
Jeżeli nie, to operacje na 0x5b5c możesz sobie odpuścić.

Co do pułapek, nie ma ich.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: steev w 2017.05.17, 21:21:28
Niektóre banki są 'contended' zdaje się?
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: matofesi w 2017.05.18, 08:27:33
Niektóre banki są 'contended' zdaje się?

Tak. I do tego różne na 128/+2 (banki 1,3,5,7) i +2A/+3 (banki 4,5,6,7).

Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: steev w 2017.05.18, 23:13:44
<off-topic>
Albo może w końcu ktoś skorzysta z możliwości jakie daje DivIDE/DivMMC z esxdosem ;)
</off-topic>
A są jakieś tutoriale typu esxdos dla opornych koderów?
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: ZX Freeq w 2017.05.19, 07:52:53
Podłączam się pod pytanie. Mi jedynie udało się w kodzie źródłowym do divideo znaleźć trochę informacji, tj. jak czytać kartę CF sektor po sektorze. Nadal nie wiem jak znaleźć sektor dla określonego pliku bez skanowania całej karty (co jest bez sensu).
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: matofesi w 2017.05.19, 08:41:31
<off-topic>
Albo może w końcu ktoś skorzysta z możliwości jakie daje DivIDE/DivMMC z esxdosem ;)
</off-topic>
A są jakieś tutoriale typu esxdos dla opornych koderów?

Niestety na ile udało mi się kiedyś zorientować esxdos nie ma publicznego API ani żadnych doców (a w każdym razie ja nic takiego nie znalazłem). Autor tłumaczył to tym, że system jest cały czas rozwijany i obiecywał, że jak się wszystko ustabilizuje to będą i doce. Na razie można co najwyżej kombinować na podstawie tego, co jest zrobione (disassemblowanie istniejących rozkazów "z kropką") albo łączyć asm z BASICem (i zasadniczo to właśnie miałem na myśli).
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.05.19, 09:07:07
W swoich programach, proponuję skorzystać porady mata. Ładowanie z BASICa albo wywołanie odpowiednich procedur z ROM.

co do esxdos, od wersji 0.9.x będzie on udostępniany wraz z dokumentacją. Właśnie 'w między czasie' pracuje nad wkładem do tej wersji esxdosa.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Gryzor w 2017.05.19, 09:46:34
UnoDos ma opublikowane API. W ESXDOS 0.8.6 pewno jest podobnie, choc dla mnie podejscie autorow do dokumentacji jest niezrozumiale.


https://zx.itch.io/unodos3
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: matofesi w 2017.05.19, 11:21:26
choc dla mnie podejscie autorow do dokumentacji jest niezrozumiale.

Ale co jest dla ciebie niezrozumiała? To, że ktoś robi darmowe oprogramowanie, które działa i po prostu w trakcie tej roboty nie ma już siły/chęci/mocy przerobowych żeby pisać dokumentację?

Ile masz na koncie projektów klasy esxdosa za które nikt ci nie zapłacił i do których również napisałeś dokumentację? :P
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: tooloud w 2017.05.19, 11:54:54
Rzuciłem kiedyś w ramach żartu, że jeżeli każdy posiadacz DivIDE/MMC miałby zapłacić 5 EUR na licencję softu - wszystko jedno kickstarter etc. to jest możliwe  posadzenie ludzi do zrobienia tego, zapłacenie im, była by dokumentacja.

Za darmo - cieszmy się że w ogóle chce im się to dalej rozwijać. Nic z tego nie mają.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: smok.wawelski w 2017.05.19, 13:05:07
Tak jak spis treści pisze się na końcu, tak dokumentacja powinna powstawać na początku. Z mojego doświadczenia wynika, że nigdy się nie udaje dokumentacja odłożona "na później" (mówię o projektach informatycznych). Rzadko też udają się takie projekty - zawsze są poza budżetem i deadlinem...

Z dwojga złego jednak wolę mieć narzędzie i brak dokumentacji, niż brak narzędzia i świetną dokumentację...

No ale zrobił się offtop, a ja też jestem ciekaw, czy ktoś się podjął wyzwania na poważnie i coś pichci? Ja robię tekstówkę w Borielu, ogarnąłem strukturę i kompresję obrazków ale utknąłem na scenariuszu.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: ZX Freeq w 2017.05.19, 13:17:39
a ja też jestem ciekaw, czy ktoś się podjął wyzwania na poważnie i coś pichci? Ja robię tekstówkę w Borielu, ogarnąłem strukturę i kompresję obrazków ale utknąłem na scenariuszu.

Nie ta liga u mnie. Przygotuję jedną, krótką procedurkę w ASMie, na więcej brak czasu.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: smok.wawelski w 2017.05.19, 13:41:08
Nie ta liga u mnie. Przygotuję jedną, krótką procedurkę w ASMie, na więcej brak czasu.

Właśnie dlatego pytam, żeby nie wystrzelić bez sensu...
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.05.19, 14:02:20
Nie ma się co ograniczać... Poziom 'ligi' tez nie ma znaczenia. Myślę że dla każdego to jest wyzwanie, bez względu na jego obecne doświadczenie w programowaniu. A doświadczenie zdobywa się coś robiąc.. a przynajmniej tak jest u mnie. Od teoretyzowania raczej progressu nie ma ;)

Ja coś tam dłubie, a jak mi się spodoba wynik tej dłubaniny to pewnie pociągnę temat dalej.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: KWF w 2017.05.19, 14:42:15
10 CLS
20 FOR i=0 TO 34
30 PRINT "35"
40 NEXT i

;)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: silenter w 2017.05.19, 14:48:46
Klaudiusz - ale mógłbyś trochę to obkomentować żeby wiadomo było o co chodzi.
Weź pod uwagę, że nie wszyscy są tak doświadczeni jak ty ;)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: KWF w 2017.05.19, 14:49:58
Eeee to mój pierwszy program w BASICu od 25 lat ;) Pear mnie zmotywowal ;)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: smok.wawelski w 2017.05.19, 15:02:38
Nie ma się co ograniczać... Poziom 'ligi' tez nie ma znaczenia. Myślę że dla każdego to jest wyzwanie, bez względu na jego obecne doświadczenie w programowaniu. A doświadczenie zdobywa się coś robiąc.. a przynajmniej tak jest u mnie. Od teoretyzowania raczej progressu nie ma ;)

Chodzi mi o to, że jak wszyscy robią procedurkę to wyskakiwanie z grą jest trochę bez sensu. Ilość grafiki i czasu potrzebna, żeby to jakkolwiek wyglądało jest nieporównywalna... a potem zostanę jak ten Himilsbach z angielskim :)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Gryzor w 2017.05.19, 16:22:11
Cytuj
Ale co jest dla ciebie niezrozumiała? To, że ktoś robi darmowe oprogramowanie, które działa i po prostu w trakcie tej roboty nie ma już siły/chęci/mocy przerobowych żeby pisać dokumentację?

A.Owen nie mial jakos problemu z UnoDos, a ESX DOS robi sie juz ho, ho. Mysle ze udostepnienie API co najwyzej mogloby sie przyczynic do
powstania/przerobienia paru nowych programow. I nie powstania UnoDoS :-)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: steev w 2017.05.19, 21:29:42
Ale co jest dla ciebie niezrozumiała? To, że ktoś robi darmowe oprogramowanie, które działa i po prostu w trakcie tej roboty nie ma już siły/chęci/mocy przerobowych żeby pisać dokumentację?
Wiesz, wystarczyłaby strona A4 z tabelką typu: obsługa rst8, kod funkcji w A, dla funkcji 1 parametr taki i taki w rejestrach takich i takich, zwraca kod błędu w aku / flagach - i dopiskiem że może się zmienić bez uprzedzenia ze zmianą wersji...
Pisanie że 'obsługujemy fafdziesiąt superfunkcji zgodnych z ISO666 ale nic teraz nie powiemy' jest słabe. Jako teaser wystarczyłoby info że ciężko nad tym pracują i będzie od następnego wydania :)


Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.05.20, 12:30:53
@smok.wawelski - Jeżeli masz pomysł, w miarę skończoną pulę czasu i chęci to napisz grę ;-) Każdy zainteresowany (a przynajmniej ja) chętnie ją zobaczy i pogra ;)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: ZX Freeq w 2017.05.20, 13:23:15
Też uważam, że warto, jeśli masz chęci i możliwości (w tym czasowe) rób koniecznie i nie patrz na innych. (Takim myśleniem, ja nigdy bym niczego nie napisał, bo przecież koledzy zza wschodniej granicy grafiki na borderze pokazują) :D

Zatem zachęcam do zrobienia gry.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: smok.wawelski w 2017.05.25, 10:46:06
Jak Wam idzie? Ktoś? Coś?
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.05.25, 11:01:34
Mi idzie, ale słabo i nie zanosi się na to aby poszło szybciej, do tego ten i następny weekend mam zajęty.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: ZX Freeq w 2017.05.25, 11:19:56
Ja się wezmę do roboty po PH17.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: tooloud w 2017.05.25, 11:20:53
proponuję wydłużenie terminu - ten weekend wypada przez PH, robi się ciasno z czasem. Tzn. bez napinki - ja tak czy siak zrobię, tylko czasowo jest masakra.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.05.25, 11:53:57
Też byłbym za przesunięciem terminu ;)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: pear w 2017.05.25, 11:57:41
Musisz ładnie poprosić przed lustrem :D

PS. Nie zapomnij o podarku  ;D
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Phonex w 2017.05.25, 12:26:34
A ja jestem już w połowie pracy!

(To znaczy: mam pomysł  ;))
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.05.25, 12:27:50
Pomysł to podstawa!

Dobra, skoro nikt nie protestuje, to może... 18 czerwca?
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: ZX Freeq w 2017.05.25, 12:31:18
Proponuję zatem głosowanie. Kto jest przeciw? Nikt się nie odzywa. PRzegłosowane,  18 czerwca it is. :)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: smok.wawelski w 2017.05.25, 12:49:05
Ja się wyrobię na 4.06. Jak przedłużymy to mi się rozjedzie, a tak jestem w szale twórczym....

PS. Ponieważ tekstówka ma zagadki związane ze Spectrum ale nie wiem, czy nie przesadziłem z ich trudnością, potrzebowałbym niezależnego testera - ktoś ma ochotę rzucić okiem przed końcem terminu?
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.05.25, 12:52:20
Jeżeli się wyrobisz we wcześniej ustalonym czasie to super!  Nie musisz czekać do końca terminu ;)
Jak będę mieć swoje coś skończone to tez nie będę czekać. To nie jest konkurs, tylko wyzwanie.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: steev w 2017.05.29, 15:37:33
Cały dzień kombinowania jak koń pod górę tylko po to, żeby się przekonać że albo divmmc nie odwzorowuje dokładnie portów divide, albo zesarux nie odwzorowuje dokładnie divmmc.
Oh my...
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.05.30, 15:46:35
divMMC i divIDE to to samo pod względem pułapek w ROM, ale inne porty do obsługi mediów...
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: steev w 2017.05.30, 22:39:37
divMMC i divIDE to to samo pod względem pułapek w ROM, ale inne porty do obsługi mediów...
Problem był bardziej subtelny.
Większość stron rozsądnie podaje że divMMC bierze obsługę karty z ZXMMC (choć na innych portach) a stronicowanie pamięci z divIDE. Natomiast któryś z sajtów na które trafiłem z samego początku, pojechał skrótem po bandzie i stwierdził, że divMMC odwzorowuje wywołania poleceń IDE na odwołania do karty MMC. Co jeśli się nie mylę jest trzecim rodzajem prawdy. bo divMMC najwyraźniej nie ma aktywnych portów IDE/ATA.
Dużo lektury i mnemoników upłynęło, nim się o tym przekonałem... :)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: smok.wawelski w 2017.06.01, 21:39:00
Jak zedytować / dodać ekran ładowania do skompilowanego już pliku .tzx? Czy ktoś go w ogóle zobaczy w emulatorze?
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.06.01, 21:47:58
Być może pomoże ZX Blockeditor (http://www.zx-modules.de/zxblockeditor/zxblockeditorframe.html). To co możesz zrobić to dać PAUSE w loaderze, aby odczekał troche, a nastepnie ładował kolejny blok.

Dlaczego .tzx? Masz jakies customowe loadery?
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: smok.wawelski w 2017.06.02, 08:09:32
Nie mam. Po prostu kompilator mi buduje .tzx. Ale mogę użyć .tap, chociaż osobiście nie widzę różnicy z mojego punktu widzenia. Jeśli lepiej .tap to po prostu zmienię przełącznik w kompilacji.

Dzięki za hint.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.06.02, 09:27:03
zmień na .tap, użytkownicy divide/mmc będą wdzięczni,ze nie muszą dodatkowo konwertować tego .tzx do .tap.
Ogólnie uzywanie .tzx to sztuka dla sztuki, nikt już nie bawi się w turbo, własne loadery itp ;)
 
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Dalthon w 2017.06.02, 13:42:46
nikt już nie bawi się w (...) własne loadery itp ;)
wypraszam sobie! właśnie robię loader :D jako przypomnienie sobie z80 (rety! człowiek już zapomniał jakie ograniczone pole ma z rejestrami!) ale nie zmienia faktu, że ktoś jednak się bawi :P
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.06.02, 13:44:48
Pisząc 'własne loadery' mam na myśli zamiennik procedury LOAD z ROM.  ;-)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Dalthon w 2017.06.02, 14:18:32
a to bardzo przepraszam i wracam do przypominania sobie z80 :P
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: tooloud w 2017.06.03, 02:58:47
ja odpalam ostatnio z tzxduino a nie mmc :)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: smok.wawelski w 2017.06.03, 14:40:23
Dobra, jestem gotów. Dla wielbicieli pasków przygotowałem ekran ładowania (trochę z tym roboty, żeby zrozumieć jak dodać blok w ZX Block Editorze).
Czekam na beta testera i dodaję ekran zakończenia gry (poza grą, na WWW) - więc wrzucę maksymalnie jutro.

Z perspektywy widzę jak prosto pisze się na dzisiejsze maszyny i jak upierdliwy bywał tryb graficzny Spectrum z atrybutami 8x8.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: smok.wawelski w 2017.06.04, 13:13:27
Miłego grania :)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Dalthon w 2017.06.04, 15:25:04
No ładne cacko!

Bawiłeś się w kompresję textu? Pytam się bo sam zabieram się za testówkę (140kb literek;)

Za grafikę szacun - że też chciało Ci się ją robić!
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: silenter w 2017.06.04, 17:27:04
@smok.wawelski - Wciąga - szacun
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: tooloud w 2017.06.04, 17:34:22
bardzo fajna gra - wciągnęła mnie na dobrą godzinę zanim mnie nie rodzina nie przywołała do porządku. Wrzucam na ZX DS.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: silenter w 2017.06.04, 17:38:37
Wrzucam na ZX DS.
Co to jest ZX DS?
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Maryjan w 2017.06.04, 17:47:36
Fajna, fajna.
Taka trochę "paragrafowa" jak dawniej bywały w wydaniach papierowych :)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: tooloud w 2017.06.04, 17:49:07
Emulator speccy na Nintendo DS etc.

Ze względu na dotykowy dolny ekran jest wygodniejszy niż Fuse i n.p do tekstówek taka ekranowa klawiatura mi wystarcza.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: smok.wawelski w 2017.06.04, 20:50:47
No ładne cacko!

Bawiłeś się w kompresję textu? Pytam się bo sam zabieram się za testówkę (140kb literek;)

Za grafikę szacun - że też chciało Ci się ją robić!

Nie bawiłem się, bo większym problemem okazała się waga grafiki. Musiałem zrezygnować z kilku ekranów. Natomiast w bardziej poważnej grze - absolutnie zrobiłbym kompresor, lub użył MegaLZ (którego używam zresztą do kompresji screenów).

Przy okazji muszę bardziej zrozumieć, co Boriel ZX Basic robi ze stringami, bo mam wrażenie, że korzystanie ze stringów zamiast tablicowania ich bezpośrednio do pamięci jako wstawek assemblerowych spowodowało problemy z pamięcią.

Co do kompresora tekstu: myślałem o algorytmie słownikowym - w grach tekstowych jest dużo powtórzeń tych samych wyrazów - np. imiona bohaterów, lokacji itp. Na PC można by wrzucić te teksty w algorytm genetyczny, który by w iluś-milionach iteracji przetestował, które słowa warto zamienić na skróty. Taki był mój pomysł ale w 10 dni ciężko zrobić grafikę, scenariusz i jeszcze męczyć się z kompresorem...
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: tooloud w 2017.06.04, 21:34:42
robiłem koedyś algorytm pod kompresor bazujący na sylabach. Taka praca słownikowa.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: smok.wawelski w 2017.06.04, 22:56:35
Jest jeszcze jedna magiczna sztuczka ale nie wiem jak się sprawdzi na Spectrum: algorytm Trie. Sylaby mogą być zbyt krótkie do zamiany słownikowej. Jutro zrobię sobie rozkład wyrazów z gry i z ciekawości sprawdzę, ile by się dało zaoszczędzić.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: smok.wawelski w 2017.06.05, 15:05:15
Bawiłeś się w kompresję textu? Pytam się bo sam zabieram się za testówkę (140kb literek;)

Policzyłem sobie statystykę wyrazów: 615 unikalnych, 150 powtarza się raz lub więcej (rekordzista to "na" - 41 razy, "widzę" to 12 powtórzeń).
Mógłbym użyć słownika 2 bajty na wyraz, co przy tekście ok. 8 KB zajęło by 1161 wyrazów x 2 bajty + spacje - ok. 2.5 KB czyli prawie 4 krotną kompresję.
Zakładając, że niektóre wyrazy można by kodować pojedynczym bajtem (te najpopularniejsze i najdłuższe) to wydaje się, że 140 KB w 40KB jest do zrobienia.

Można by jeszcze pobawić się w złożenia wyrazów (ta kochana polska odmiana) np. w moim przypadku może nie ma co kodować słów z rdzeniem profesor[-a, -owi, -em] itp tylko złożyć rdzeń i końcówkę oddzielnie ale trzeba by to przetestować i policzyć.

PS. Faktycznie, gdyby ktokolwiek chciał pisać tekstówki w Boriel ZX Basic, to zdecydowanie odradzam natywny typ String na rzecz wstawek ASM - da się wcisnąć dużo więcej w pamięć.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: ZbyniuR w 2017.06.05, 16:59:00
Możesz też zrobić tak że 254 częściej występujące słowa zdefiniujesz jednym bajtem, a 2 bajty przeznaczysz na przełącznik na kolejne zestawy po 256 innych słów. Wtedy dwu-bajtowo określisz tylko te rzadziej występujące słowa co pewnie da trochę oszczędności. :)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.06.05, 19:10:16
smoku, dajesz radę! to świetny argument aby skończyć swój efekt i pokazać go światu... już za kilka dni ;)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: smok.wawelski w 2017.06.05, 20:08:31
Możesz też zrobić tak że 254 częściej występujące słowa zdefiniujesz jednym bajtem, a 2 bajty przeznaczysz na przełącznik na kolejne zestawy po 256 innych słów. Wtedy dwu-bajtowo określisz tylko te rzadziej występujące słowa co pewnie da trochę oszczędności. :)
Bardzo dobry pomysł, wziąłbym jeszcze pod uwagę iloczyn (długość słowa x liczba powtórzeń), bo zamiana 2 literowych wyrazów, które występują 40 razy na 40 bajtów vs zamiana 12 literowego wyrazu występującego 14 razy nawet na 2 bajty nie opłaca się tak bardzo.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: RafalM w 2017.06.05, 20:24:41
Bardzo fajna gra.

Od strony technicznej wybrałeś Smoku łatwiejszą opcję - przejścia od punktu do punktu zamiast męczyć się z parserem interpretującym wpisywane słowa. Ale podejrzewam że wielu graczy wręcz będzie się to podobało bo dzięki temu gra jest istotnie łatwiejsza. No i w końcu pisałeś to w 10 dni!

Fajnie jest od strony wizualnej - czcionka, kolorowa grafika. Podoba mi się też styl pisania.

Jeśli jeszcze masz zapał to nie zostawiaj tego tak jak teraz. Skompresuj tekst, wrzuć grafikę która się nie zmieściła.

I pomyśl o wersji po angielsku bo chyba warto by gra miała zasięg ponadlokalny ;)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: dox w 2017.06.05, 21:04:52
Hej,
Daaaawno nic na ZX nie pisałem. Na szybko dwa rocznicowe mini-mini efekty ( prawie 35 i prawie 53 ( hex 35)  bajtów, zostało kilka wolnych ;)
Z założenia nie chciałem w ogóle korzystać z ROM-u.
Fajnie wrócić do 8 bitów chociaż na chwilę ....
Do kompilacji korzystałem z pasmo (macOS ).

35

; 35
; dox^DC-S
; [email protected]

org 0xc000
start:
ld de,gfx
ld hl,$4800
outer_loop:
ld a,[de]
or a
jr z,start
inc e
ld b,l
inner_loop:
add a,a
jr nc,skip_write
ld [hl],c
skip_write:
inc hl
djnz inner_loop
inc c
jr outer_loop
gfx:
db %11101111
db %00101000
db %00101000
db %01101110
db %00100001
db %00100001
db %11101110
db 0
db 0,0,0,0,0  ; padding

end start

53 = $35

; 53 = $35
; dox^DC-S
; [email protected]

org 0xff00
start:
halt ; sync
ld hl,$5900
ld b,l
ld d,$8 ; max color for skew
color_loop:
ld a,c
add a,d
jr nc,skew
ld a,d
skew:
ld c,a
and %111000    ; no flash / brightness
ld [hl],a

inc hl
djnz color_loop

ld de,gfx
ld hl,$5948
outer_loop:
ld a,[de]
or a
jr z,start
inc e
ld b,16
inner_loop:
add a,a ;  c = bit 7
jr nc,skip_write
ld [hl],d  ; d = $ff
inc hl
ld [hl],d
dec hl
skip_write:
inc hl
inc hl
djnz inner_loop
jr outer_loop
gfx:
db %11101110
db %00101000
db %01101111
db %00100001
db %11100111
db 0
db 0,0        ; padding = 2 extra bytes to reach $53 size limit
end start

Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: smok.wawelski w 2017.06.05, 23:10:42
Bardzo fajna gra.

Od strony technicznej wybrałeś Smoku łatwiejszą opcję - przejścia od punktu do punktu zamiast męczyć się z parserem interpretującym wpisywane słowa. Ale podejrzewam że wielu graczy wręcz będzie się to podobało bo dzięki temu gra jest istotnie łatwiejsza. No i w końcu pisałeś to w 10 dni!

Fajnie jest od strony wizualnej - czcionka, kolorowa grafika. Podoba mi się też styl pisania.

Jeśli jeszcze masz zapał to nie zostawiaj tego tak jak teraz. Skompresuj tekst, wrzuć grafikę która się nie zmieściła.

I pomyśl o wersji po angielsku bo chyba warto by gra miała zasięg ponadlokalny ;)
Po pierwsze bardzo dziękuję wszystkim, którym gra się podoba. To jest bardzo miłe i ważne dla mnie.

Jeśli chodzi o parser, to zrezygnowałem z niego świadomie, nic by nie dało wpisywanie NW N czy S, kiedy można wybrać pomieszczenie. Poza tym jest niestety niewiele lokacji (czas! czas!) więc tylko by to irytowało gracza.

To co jest dla mnie ciekawym przeżyciem, to powrót 30 lat wstecz, gdy w Art Studio rysowałem swoje fonty - tym razem miałem SevenUpa i myszkę ale przypomniałem sobie stare czasy.
Jeśli chodzi o grafikę - to w 48K wejdzie screen czy dwa jak zoptymalizuję teksty ale ZX Basic nie wspiera Spectrum 128K i byłoby dosyć ciężko wykorzystać dodatkową pamięć. Może fajnie byłoby pisać na DivIDE (lub coś podobnego), tak żeby ograniczenie pamięci nie było istotne.

PS. Gra tekstowa po angielsku... chyba się nie widzę w tej roli :) Musiałbym zatrudnić native'a.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: ZbyniuR w 2017.06.06, 05:54:55
Smoku jak na mój rozum to nie ma znaczenia czy częściej występują słowa dłuższe czy te krótsze. Tak czy inaczej musisz mieć zapisane każde z nich w całości raz, a od tej chwili przy dalszej kompresji nie ma znaczenia czy były dłuższe czy nie, liczy się tylko to, że bardziej się kalkuluje by jednym bajtem określić te częściej występujące.

Bardziej mnie zastanawia to jak potraktować spacje i inne znaki interpunkcyjne. Czy te ostatnie traktować jako osobne słowo, tyle że nie poprzedzone spacją, czy jako część słowa po którym występuje, ale wtedy to samo słowo zakończone spacją, kropką czy też innym znaczkiem byłoby osobnym słowem. Trzeba by policzyć w konkretnym tekście co się bardziej kalkuluje.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: tooloud w 2017.06.06, 08:40:49
...i wszystko dużymi literami, bo inaczej dochodzi cały zestaw słów zaczynających zdania.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: matofesi w 2017.06.06, 09:19:10
Bardziej mnie zastanawia to jak potraktować spacje i inne znaki interpunkcyjne. Czy te ostatnie traktować jako osobne słowo, tyle że nie poprzedzone spacją, czy jako część słowa po którym występuje, ale wtedy to samo słowo zakończone spacją, kropką czy też innym znaczkiem byłoby osobnym słowem. Trzeba by policzyć w konkretnym tekście co się bardziej kalkuluje.

Albo po prostu w wypadku znaków interpunkcyjnych pomijać spacje przed/po - mamy dokładnie określone zasady typograficzne dotyczące tego dla których znaków stawia się spację przed a dla których po. Jedyny problem to odrobinę bardziej skomplikowany dekoder.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: smok.wawelski w 2017.06.06, 10:25:19
...i wszystko dużymi literami, bo inaczej dochodzi cały zestaw słów zaczynających zdania.

Wystarczy dodać kapitalizację jeśli poprzednim znakiem była kropka. Powinno zadziałać w większości wypadków. Nazwy własne (imiona, nazwiska) zawsze z wielkiej więc też nie problem.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: tooloud w 2017.06.06, 10:48:54
jeżeli była kropka to po spacji duża litera.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.06.06, 10:53:45
dox - świetne pchełki ;-)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: RafalM w 2017.06.06, 16:33:50
Cytuj
Wystarczy dodać kapitalizację jeśli poprzednim znakiem była kropka. Powinno zadziałać w większości wypadków. Nazwy własne (imiona, nazwiska) zawsze z wielkiej więc też nie problem.

Z mojego doświadczenia to masz takie opcje by tekst był mniejszy:

1. Nie zapisywać litery całym bajtem tylko na mniejszej ilości bitów. W języku angielskim dawałem radę na 5 bitach - to są 32 kombinacje a liter jest tam 26. W polskim może być gorzej ale 6 bitów na pewno wystarczy.

Co do dużych liter to można przyjąć reguły że pierwszy znak to zawsze duża litera, że po kropce to zawsze duża litera... Nie załatwi to wszystkich przypadków typu np. imię i nazwisko w środku zdania ale dla nich możemy mieć specjalny znak sterujący którego nie piszemy ale jak wystąpi to po nim kolejny znak to duża litera. Jeśli to będzie dość rzadko to i tak będzie oszczędność.

Ja u siebie stosowałem różne takie znaki kontrolne - przejście do nowej linii, zmiana koloru czcionki itp. Miałem nawet specjalny znak dla bardzo rzadko występujących symboli że jak się pojawił to kolejny znak był brany z innego zestawu - dzięki temu w 99% przypadków miałem znak na 5 bitach a w 1% na 10 bitach ale miałem 64 dostępne znaki a nie 32.

2. Kodować najczęściej występujące słowa/fragmenty słów pojedynczymi wartościami. Była już wyżej o tym mowa.

3. Stosować ogólny algorytm kompresji typu MegaLZ

Powyższe metody można czasem łączyć dla lepszego efektu.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: smok.wawelski w 2017.06.06, 16:44:26
Hmm nie chcę wychodzić przed szereg ale coś widzę, że będzie ciekawy temat na Wyzwanie dla programistów #5 ;)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: ZX Freeq w 2017.06.06, 17:05:09
@smok.wawelski: Spóźnione, ale szczere BRAWO! W tak szybkim tempie bardzo przyjemna produkcja! Super!

@dox: niesamowite, że można zrobić coś fajnego w tak małej liczbie bajtów :)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Dalthon w 2017.06.06, 18:49:27
Hmm nie chcę wychodzić przed szereg ale coś widzę, że będzie ciekawy temat na Wyzwanie dla programistów #5 ;)
pracuję nad połączeniem LZW (http://teleinfo.pb.edu.pl/krashan/files/syst_mult_wyklad_2.pdf) z bitowym przypisaniu słów/ciągów ze słownika - jak skończę, wrzucę swoje wypociny :)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.06.14, 21:19:40
Dziś siedzę w szlifuje to co mam. Wyszło mi coś innego niż chciałem, ale też źle nie jest ;-)

Pracujecie nad swoimi wyzwaniami?
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Phonex w 2017.06.15, 13:20:39
Napisałem drugą część, ale jeszcze nie uruchomiłem.
A pierwszej jeszcze nie napisałem w ogóle.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: steev w 2017.06.15, 22:01:10
Napisałem drugą część, ale jeszcze nie uruchomiłem.
A pierwszej jeszcze nie napisałem w ogóle.
Ja mam pierwszą, do ostatniej liczę t-state'y i ciągle mi brakuje, co do dwóch środkowych - wiem co chcę zrobić.
Do gwiazdki się wyrobię ;)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: ZX Freeq w 2017.06.15, 23:41:40
Służbowe obowiązki mi przeszkadzają. Jak stanęło na pomyśle dwa tygodnie temu, tak ani kroku do przodu. Potrzebny jakiś weekend bez rodziny ;)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Dalthon w 2017.06.16, 01:07:00
Potrzebny jakiś weekend bez rodziny ;)
no ja mam właśnie weekend (długi) z rodziną i oddala to zakończenie projektu :( może uda mi się do jutra przygotować wszystkie pliki do ładowania (nigdy na 128 nic nie robiłem) i pozostanie mi "tylko" dokończyć kodowanie :D:D:D:D
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.06.19, 11:54:29
Ja już mam prawie gotowe to co robiłem przez ostatni czas. Nic wielkiego, ale zawsze coś ;-)
Pokażę max za kilka dni.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: silenter w 2017.06.19, 11:56:10
Już szczekam na to ;)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.06.20, 09:43:17
Ja bardziej ciekaw jestem tego co zrobili inni ;-)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: ZX Freeq w 2017.06.20, 15:44:29
Ja się przymierzałem do procedurki w ASM , która manipuluje obrazem. Nic nadzwyczajnego, efekt już od lat znany i stosowany, ale... chciałbym napisać go sam. Nie w basicu. :) ETA: jeśli nadal będę mieć tyle czasu co do tej pory to chyba 1 miesiąc.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Phonex w 2017.06.26, 13:21:43
Pokonałem trudności techniczne z przenoszeniem z ZX do PC i zamieszczam moją pracę.
Mi też wyszło coś innego niż chciałem ;)
W trakcie pisania przypomniał mi się jeszcze inny pomysł, może uda mi się go zacząć to następnym razem nie zapomnę...
Wyszło prawie intro, kod ma 1345 bajtów, z czego połowa to dane, gdybym się uparł udałoby się zmieścić go w 1K.
To moja pierwsza kilkufazowa animacja zsynchronizowana z ramką. Na Spectrumie chodzi gładko, na emulatorze niestety trochę miga.

UWAGA: program emituje dźwięki.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: ZX Freeq w 2017.06.26, 14:07:35
Fajne, na moim emulatorze ZX Spin 0.7 nic nie mruga :D
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Phonex w 2017.06.26, 14:29:18
Ha! Udało mi się przestawić częstotliwość odświeżania ekranu na 50Hz i jest znacznie lepiej.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: ZX Freeq w 2017.06.26, 14:55:01
[OT]
Nie tak dawno korzystałem, z CRU, aby zmusić mój monitor do wyświetlania 50Hz.

https://www.monitortests.com/forum/Thread-Custom-Resolution-Utility-CRU (https://www.monitortests.com/forum/Thread-Custom-Resolution-Utility-CRU)
[/OT]
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Maryjan w 2017.06.26, 18:49:39
Ciekawe, a tam jakiś tryb "multicolor" był ?
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Phonex w 2017.06.26, 19:01:26
Nie, nie ma multicolor.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: silenter w 2017.06.26, 19:04:27

To moja pierwsza kilkufazowa animacja zsynchronizowana z ramką. Na Spectrumie chodzi gładko, na emulatorze niestety trochę miga.

Mi się podoba. Czy jest jakaś szansa obejrzeć source?
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Phonex w 2017.06.26, 19:40:55
Dobrze, mogę wrzucić, ale jest pod ZEUS assembler.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.07.04, 10:57:44
Nie udało mi się póki co skończyć swojej wersji, choć Atom ma pomysły i chęci aby to ulepszyć ;-)

Wprawdzie to nie 35 a ZX, choć to kwestia patternu ;)

Miłego oglądania.
Możliwe że bardziej wypasiona wersja znajdzie się w jakiejś kolejnej produkcji.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: ZX Freeq w 2017.07.04, 11:21:41
Podoba się. :) A ja jeszcze swojego nie skończyłem......
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Phonex w 2017.07.04, 12:34:37
Takie matrixowe trochę. Albo raczej zimowe ;)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.07.04, 15:53:26
W zamierzeniu miało być gwiezdnie ;-), możliwe że tuning parametrów by coś pomógł.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: tooloud w 2017.07.04, 16:56:38
o, zrobiłeś deszcz ;D
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: ZX Freeq w 2017.07.04, 17:24:00
Mi się bardziej ze śniegiem kojarzy, ale nie takim ULA Snow ;)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Phonex w 2017.07.06, 13:36:08
Obiecany tekst źródłowy mojego programu.
Tak jak pisałem - to jest pod ZEUS assembler. Mnemoniki nie są w ASCII, nie da się obejrzeć notatnikiem.

Program nie jest zoptymalizowany, ja lubię pisać "na wariata", a potem walczyłem z przeniesieniem go ZX->PC, zamiast szlifować. Jednak jest w miarę porządny, bo na początku mi się wydawało, że trzeba dołączyć źródła, więc zaczynając pisałem w miarę porządnie, tj. dużo podprogramów wykonujących pojedyncze czynności :)

Ponieważ jest tylko 32 znaki w  wierszu, to komentarze są ograniczone do minimum. Nie było wymogu dołączania źródeł, więc nie dopisałem komentarzy wyjaśniających. Odpowiem na pytania, jeśli będą jakieś wątpliwości.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: matofesi w 2017.07.06, 15:10:11
A dla lubiących czytać takie rzeczy w "cywilizowany" sposób w załączniku wersja tekstowa do kompilacji w pasmo ;)

PS. Tak. Nudzi mi się ;)
PPS. Nie. Nie aż tak, żeby mi się chciało napisać coś samemu ;) ;)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: silenter w 2017.07.06, 15:12:56
Ufff..... Dzięki ;)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Phonex w 2017.07.06, 15:46:20
Wow! To było szybkie :D
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: matofesi w 2017.07.06, 16:05:43
Jakby ktoś pytał to nie, nie przepisywałem kodu ;)
Zrobiłem szybką disassemblację oryginału, odpaliłem tego Zeusa (na pierwszy rzut oka - okropny jest ;)), załadowałem źródło i poprawiłem ręcznie zdisassemblowany kod przepisując nazwy etykiet, komentarze itp. Potem całość lekko doformatowałem i oczywiście sprawdziłem, czy się reassembluje poprawnie i czy czegoś nie spaprałem i się się zrelokować ;)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Tygrys w 2017.07.06, 16:47:36
Efekt Phonexa to kwintesencja oldskulu i retro ;-) Bardzo mi się podoba!
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Phonex w 2017.07.06, 19:44:30
Dzięki :)
Kiedyś napiszę coś w stylu new age i wszyscy się zdziwią, a ja najbardziej.
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: silenter w 2017.07.07, 09:06:18
@Phonex - musisz jeszcze trochę poczekać, aż "new age" stanie się bardziej retro :)
Tytuł: Odp: Wyzwanie dla programistów #4
Wiadomość wysłana przez: Dalthon w 2018.07.30, 17:27:46
Pojawiło się wyzwanie #5 a ja zapomniałem o swoim wkładzie do #4 ;)

Wystarczy (?) zassać project który wyewoluował z tego wyzwania: http://www.speccy.pl/archive/prod.php?id=405
i przytrzymać klawisze "3" i "5" nim pojawi się logo "35 anniversary" - ukaże się... ukryta niespodzianka* :)

* jedna z 3 jakie tam umieściłem ;P