Autor Wątek: Konkurs dla programistów #3  (Przeczytany 36021 razy)

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4540
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Konkurs dla programistów #3
« Odpowiedź #30 dnia: 2016.10.10, 16:25:46 »
@ZX Freeq: ja od obsługi losowości zatrudniłem ROM, tzn najpierw losuję adres pamięci w jego obszarze, a następnie czytam z niego dane. Jakoś działa.

ZX Freeq

  • *****
  • Wiadomości: 1835
  • Miejsce pobytu:
    Warszawa
Odp: Konkurs dla programistów #3
« Odpowiedź #31 dnia: 2016.10.10, 17:57:56 »
Lekki offtop, niemniej w temacie deszczu. Jak ktos nie ma pomysłu, to może coś takiego? ;-)

O, ktoś wykonał mój najprostszy pomysł! To wykonanie przynajmniej działa :)
ZX80|ZX81+16kB+PandAY|ZX 48k/+/128k+/+2/+2A/+3/Vega/Next|QL+QIDE|JS128|Timex 2048+2040|UK2086|FDD3000+3.5''|AY|ZX HD|Divide2k11/2k14|DivMMC/PicoDivSD|BetaDisk 128|Opus|Masakrator FM|If 1/2/Microdrv|Multiface 1|+2A\B SDI-1|SJS 1/2|ZX Printer|TZXDuino|+3 HxC USB|ZXUno|Omni
Z88|A500/600|PC200|Ent128

ZX Freeq

  • *****
  • Wiadomości: 1835
  • Miejsce pobytu:
    Warszawa
Odp: Konkurs dla programistów #3
« Odpowiedź #32 dnia: 2016.10.10, 18:01:18 »
@ZX Freeq: ja od obsługi losowości zatrudniłem ROM, tzn najpierw losuję adres pamięci w jego obszarze, a następnie czytam z niego dane. Jakoś działa.

Też jakaś myśl. Na razie biorę R i robię OR z młodszym bajtem adresu pamięci, który akurat się obrabia.
ZX80|ZX81+16kB+PandAY|ZX 48k/+/128k+/+2/+2A/+3/Vega/Next|QL+QIDE|JS128|Timex 2048+2040|UK2086|FDD3000+3.5''|AY|ZX HD|Divide2k11/2k14|DivMMC/PicoDivSD|BetaDisk 128|Opus|Masakrator FM|If 1/2/Microdrv|Multiface 1|+2A\B SDI-1|SJS 1/2|ZX Printer|TZXDuino|+3 HxC USB|ZXUno|Omni
Z88|A500/600|PC200|Ent128

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4540
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Konkurs dla programistów #3
« Odpowiedź #33 dnia: 2016.10.11, 09:43:14 »
Ja już swoją wersję skończyłem. Już nic nie będę do niej dorabiać.

Czeka mnie najtrudniejsza, choć nieobowiązkowa cześć - komentarze do kodu źródłowego, który później udostępnię.

ZX Freeq

  • *****
  • Wiadomości: 1835
  • Miejsce pobytu:
    Warszawa
Odp: Konkurs dla programistów #3
« Odpowiedź #34 dnia: 2016.10.12, 08:09:54 »
Mam zrobione dwie wersje oparte na atrybutach ;) Z komentarzami, może jeszcze popracuję nad ich - tj. komentarzy - jakością.
Do soboty postaram się zrobić jeszcze jedną, która mi chodzi po głowie i wtedy podeślę całość.
ZX80|ZX81+16kB+PandAY|ZX 48k/+/128k+/+2/+2A/+3/Vega/Next|QL+QIDE|JS128|Timex 2048+2040|UK2086|FDD3000+3.5''|AY|ZX HD|Divide2k11/2k14|DivMMC/PicoDivSD|BetaDisk 128|Opus|Masakrator FM|If 1/2/Microdrv|Multiface 1|+2A\B SDI-1|SJS 1/2|ZX Printer|TZXDuino|+3 HxC USB|ZXUno|Omni
Z88|A500/600|PC200|Ent128

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4540
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Konkurs dla programistów #3
« Odpowiedź #35 dnia: 2016.10.12, 16:28:54 »
Otrzymałem kolejną (pierwszą sam sobie dostarczyłem) pracę na konkurs. Steev - dzięki ;-)

ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Odp: Konkurs dla programistów #3
« Odpowiedź #36 dnia: 2016.10.12, 17:40:58 »
Jestem zdumiony jak fajnie można deszcz zrobić za pomocą tak skromnych środków. :)
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Odp: Konkurs dla programistów #3
« Odpowiedź #37 dnia: 2016.10.12, 21:27:29 »
Otrzymałem kolejną (pierwszą sam sobie dostarczyłem) pracę na konkurs. Steev - dzięki ;-)
Zdecydowanie nie ma za co, ale proszę bardzo :)
Machines should work. People should think.

ZX Freeq

  • *****
  • Wiadomości: 1835
  • Miejsce pobytu:
    Warszawa
Odp: Konkurs dla programistów #3
« Odpowiedź #38 dnia: 2016.10.14, 22:04:54 »
Próbuję napisać coś bardziej ambitnego, opartego na pikselach, a nie tylko atrybutach. No i już na początku epic fail. Mój generator liczb losowych. Założenie było takie, aby na podstawie rejestru R i wartości w ROM pod adresem - no na razie powiedzmy (R) - wyliczyć B i z-AND-ować z 31 63, oraz na podstawie znowu R wyliczyć C. Otrzymam w BC względnie losową wartość w teorii, podkreślam w teorii, z zakresu 0 (khe khe) i ~7000. 16384 + (BC) i mam losowe miejsce na ekranie. Póki co nie działa. Jeszcze nie wiem czy to kwestia implementacji czy założeń. Zrobiłem sobie skrypt w Basicu, żeby podejrzeć jak te wartości wyglądają. Powtarzają się niestety. Obrazek z pikselami, oczywiście pokazuje POKE [pseudo-losowa], 1 - bo jeszcze nie zaimplementowałem, który bit losowo zapalić -  dlatego tak "równo" wygląda.

Nie poddaję się, będę walczył :)

EDIT: Ależ się miotam, miałem napisać AND 31 i nie potrzebnie zmieniłem na 63, moje skrypty mi się mylą. Kawy!
ZX80|ZX81+16kB+PandAY|ZX 48k/+/128k+/+2/+2A/+3/Vega/Next|QL+QIDE|JS128|Timex 2048+2040|UK2086|FDD3000+3.5''|AY|ZX HD|Divide2k11/2k14|DivMMC/PicoDivSD|BetaDisk 128|Opus|Masakrator FM|If 1/2/Microdrv|Multiface 1|+2A\B SDI-1|SJS 1/2|ZX Printer|TZXDuino|+3 HxC USB|ZXUno|Omni
Z88|A500/600|PC200|Ent128

Maryjan

  • *****
  • Wiadomości: 6666
  • Miejsce pobytu:
    Skarżysko-Kam.
  • Scotch whiskey and West Highland Terrier
Odp: Konkurs dla programistów #3
« Odpowiedź #39 dnia: 2016.10.14, 22:52:02 »
No coś tam pada, jak w Matrix-ie :)
"Co miałem powiedzieć - przeczytałem..." Nikodem Dyzma

pear

  • *****
  • Wiadomości: 5511
  • Miejsce pobytu:
    Będzin
  • Z80 only
Odp: Konkurs dla programistów #3
« Odpowiedź #40 dnia: 2016.10.15, 08:07:58 »
Próbowałeś użyć XOR zamiast AND ? To znaczy AND i tak będzie potrzebne na końcu. Ale XOR R z bajtem z ROM-u może dać bardziej losowy wynik.
ZX/Enterprise/CPC/Robotron/C128D

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4540
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Konkurs dla programistów #3
« Odpowiedź #41 dnia: 2016.10.15, 15:45:00 »
Mój random wygląda tak:

Cytuj
        ld    a,r
        and    31
        ld    d,a
        ld a,(de)

i dla każdej kolejnej wartości, którą potrzebuje:
Cytuj
        inc de
        ld a,(de)


ZX Freeq

  • *****
  • Wiadomości: 1835
  • Miejsce pobytu:
    Warszawa
Odp: Konkurs dla programistów #3
« Odpowiedź #42 dnia: 2016.10.15, 16:16:10 »
Próbowałeś użyć XOR zamiast AND ?

Tak, w nowej iteracji implementacji używam między innymi xor. :) Ale raczej nie zdążę skończyć w ten weekend. Trudno, podsyłam zaraz Tygrysowi dwie wersje na atrybutach.
ZX80|ZX81+16kB+PandAY|ZX 48k/+/128k+/+2/+2A/+3/Vega/Next|QL+QIDE|JS128|Timex 2048+2040|UK2086|FDD3000+3.5''|AY|ZX HD|Divide2k11/2k14|DivMMC/PicoDivSD|BetaDisk 128|Opus|Masakrator FM|If 1/2/Microdrv|Multiface 1|+2A\B SDI-1|SJS 1/2|ZX Printer|TZXDuino|+3 HxC USB|ZXUno|Omni
Z88|A500/600|PC200|Ent128

tooloud

  • *****
  • Wiadomości: 3188
  • Miejsce pobytu:
    Warszawa
  • mydłem go!
Odp: Konkurs dla programistów #3
« Odpowiedź #43 dnia: 2016.10.15, 20:45:38 »
Tygrys, jak to wysyłać/gdzie?
dużo sprzętu mało czasu.

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4540
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Konkurs dla programistów #3
« Odpowiedź #44 dnia: 2016.10.16, 18:50:05 »
ZX Freeq: praca doszła - dzięki :)