526

(2 odpowiedzi, napisanych Programowanie - 8 bit)

Kod konkretnie tu przedstawiony to jednak potworek, bo już jednak łatwiej jest to samo robić w asemblerze, ale ogólna idea wydaje się ciekawa i skłania do przemyśleń, bo mimo tak wielkiego rozwoju kompilatorów, wciąż nie potrafimy osiągnąć czegoś, wydawałoby się, tak prostego jak generowanie dobrego kodu na tak prosty procesor jak 6502. Ja bym tu paradoksalnie główną słabość widział w relatywnej niskopoziomowości imperatywnych języków programowania - semantyka takiego C jest opisana jako maszyna stanów o dość dużych wymaganiach na sprzęt na którym to ma działać. I właśnie ratunku szukałbym raczej w językach jeszcze bardziej abstrakcyjnych jak np Haskell. Może gadam głupoty, ale wydaje mi się, że taki Haskell niewiele mówi o maszynie na której ma działać wygenerowany z niego program, a bardziej jest to abstrakcyjne przekształcenie danych. A to już daje spore pole do popisu. Może dałoby się spróbować naszkicować jakiś podzbiór tego języka, który da się tłumaczyć na tak "ograniczone" środowisko jak maszyna z 6502? Może można byłoby zacząć "wstecz", czyli wziąć jakieś fajnie napisane kody w 6502 i zastanowić się, jak mógłby wyglądać kod Haskellowy, który hipotetycznie mógłby się do tego skompilować?
Ot takie luźne przemyślenia...

527

(28 odpowiedzi, napisanych Programowanie - 8 bit)

Mam pewne wątpliwości co do pogarszania sprawności dekompresora, aby mógł poradzić sobie ze strumieniami, których nikt przez 17-lat jego istnienia nie napotkał.
Czy byłaby szansa, aby wyróżnić w kodzie zbiór ficzerów pozwalających na warunkową kompilację włączającą lub wyłączającą wsparcie dla tych egzotycznych danych wejściowych? Może nawet dałoby się napisać narzędzie, które analizując skompresowany strumień generowałoby odpowiednie makra, coś jak optymalizacja RMT.

528

(14 odpowiedzi, napisanych Sprzęt - 8bit)

Ja miałem takiego pokeya, który wgrywał z magnetofonu, ale już nie nagrywał, ani nie pracował ze stacją.

529

(45 odpowiedzi, napisanych Sprzęt - 8bit)

marc458: z tego drugiego to ja byłbym już zadowolony. Mora pewnie jest przez jakieś niejawne skalowanie, może jakbyś pogrzebał w ustawieniach, to dałoby się ją wyeliminować.

530

(45 odpowiedzi, napisanych Sprzęt - 8bit)

Mój konwerter też pozwala na wybór rozdzielczości od 800x600 do 1920x1200, na różnych rozdzielczościach z efektami tak jak u Irona. Tu jest screen z rozdzielczości w której mam najlepszą jakość:

https://i.imglnx.com/6d4cPI.jpg

Zdziwiło mnie, że u Irona działa Rybags, gdy u mnie nie... Może rzeczywiście tylko obudowa jest taka sama, a w środku jest coś innego. Sprawdzę jeszcze tryb Rybagsa w każdej rozdzielczości, bo może w którejś zadziała.

531

(118 odpowiedzi, napisanych Programowanie - 8 bit)

     1                     opt c+
     2                     org $010000
     3 FFFF> 010000-010008> +   test    rts
     4 010001 22 00 00 01        jsr test
     5 010005 5C 00 00 01        jmp test

@Tebe: da się coś zrobić, żeby skoki do tego samego banku były asemblowane jako nie-długie?

532

(45 odpowiedzi, napisanych Sprzęt - 8bit)

@seban, scrolle są niczego sobie. Kwestia jest tylko oczywistego przeskoku ze względu na różnicę 50 vs 60 klatek na sekundę.


Interlace niestety nie działa:
https://www.imglnx.com/i/C0zjr4.jpg


A z trybem Rybagsa jest jeszcze gorzej (Scroll miga):
https://www.imglnx.com/i/ssihOJ.jpg

533

(45 odpowiedzi, napisanych Sprzęt - 8bit)

Doszedł dzisiaj



https://www.imglnx.com/i/QC9kFA.jpg



I spodziewałem się raczej kupy, ale z wejścia S-Video jestem bardzo pozytywne zaskoczony!



https://www.imglnx.com/i/3n5dbI.jpg



Jak na moje potrzeby to żyleta.

Dzięki!

534

(45 odpowiedzi, napisanych Sprzęt - 8bit)

Do grabbowania 1080p, to owszem, cena jest odpowiednia, ale jeśli chodzi o samo SD, to jednak za droga zabawka.

535

(45 odpowiedzi, napisanych Sprzęt - 8bit)

Na te sprzęty, które proponuje Voy niestety mnie nie stać, a nie mam aż takich wymagań.
Spróbuję z tym konwerterem do VGA, bo jest tani i skoro działa u Irona, to u mnie tez powinien.
Dzięki wszystko za pomoc!

536

(45 odpowiedzi, napisanych Sprzęt - 8bit)

Hej.
Po różnych perypetiach muszę na nowo tworzyć sobie środowisko pracy na atarce. Nie mam dedykowanego monitora, dlatego zdecydowałem, że spróbuję numeru z grabberem video. Kupiłem takie urządzenie
http://www.cabletech.pl/pl/11090-video- ... el-urz0192
i ku mojemu zmartwieniu ukazał mi się obraz jak na załączonym obrazku.

https://www.imglnx.com/i/ij4OHu.jpg

Co drugie pole jest krzywe i kolor miga.
Tak jakby ten grabber był zbyt wrażliwy na krzywy interlace nadawany przez atari (sprawdziłem, że z magnetowidem działa).
Czy nic się nie da z tym zrobić?

W drugim monitorze mam wolne wejście d-sub, dlatego pomyślałem sobie o alternatywie w postaci konwertera RCA->VGA jak tu:
http://allegro.pl/konwerter-s-video-vga ... 61546.html
Czy ktoś z czegoś takiego korzystał i to działa? Jakie jest ryzyko, że też nie poradzi sobie z krzywym interlacem? Bo kilkadziesiąt złotych wtopiłem już w grabber i głupio byłoby się znowu sparzyć? Ktoś zna jakieś inne tanie rozwiązanie nie zabierające zbyt wiele miejsca na biurku?

537

(14 odpowiedzi, napisanych Bałagan)

A gdzie to stoi? Poszedłbym zobaczyć.

538

(39 odpowiedzi, napisanych Zloty)

Pierwsze moje party od 8 lat (jak obliczył Sikor) i bawiłem się przednio.
Frasunek!

539

(318 odpowiedzi, napisanych Fabryka - 8bit)

Draco: Jak widzę tę dyskusję, to cieszę się, że nie miałem siły dociągnąć tego samemu do tego etapu i współczuję, że padło na Ciebie...
Przynajmniej moja "loading bara" jest międzynarodowa i mam nadzieję, że nikt się do niej nie przyczepi.

540

(63 odpowiedzi, napisanych Bałagan)

Wg mnie w sumie trochę się czepiacie tego filmu. Przecież to jest Star Wars, więc musi mieć wszystko to, co powinien mieć film Star Wars, żeby był zaliczony do rodziny filmów Star Wars ;)
Jak było np z Indiana Jones? Wszystkie trzy pierwsze części są schematyczne aż do bólu. W czwartej pokombinowali, pozmieniali... i wyszła kupa, bo to już nie jest Indiana Jones. Podobnie byłoby z SW jakby pozmieniali za dużo.

541

(143 odpowiedzi, napisanych Zloty)

Gdzieś dzwony dzwoniły...

542

(143 odpowiedzi, napisanych Zloty)

ZTCP Rush Hours 97 miało w ostatnim momencie zmieniony termin i część ludzików przyjechała w tym złym - robili sobie copy party na dworcu.

543

(58 odpowiedzi, napisanych Bałagan)

Super sprawa. Ja kiedyś miałem sesję pisania arkanoida z bratem i bratankiem (w sumie wyszła tylko paletka i piłeczka). Starszy brat się cieszył, bo mu się stare czasy przypomniały, ale młodszy bratanek nie skumał bazy, bo nie mógł wyjść poza przewodnią myśl "atari to przeżytek". Wszystko zależy od nastawienia.
A syn ile ma lat, że skumał jak rysuje się koło sinusami?

544

(25 odpowiedzi, napisanych Programowanie - 8 bit)

Ostatecznie: Oba programy (są to notabene flashery firmware'u Rapidusa) działają poprawnie po zmirrorowaniu strony zerowej od adresu $010000. Niestety mirrorowanie musi być dokonane przed ładowaniem flashera, gdyż wygląda na to, że jak zrobię mapowanie w pierwszym inicie, to jest już za późno.
Ostatecznie pomaga tylko patch na MyDosa z wątku na AtariAge.

545

(318 odpowiedzi, napisanych Fabryka - 8bit)

A to ciekawe, a ja myślałem, że FLOVE się wywala.
A może to Timekeeper się wywalał?

546

(25 odpowiedzi, napisanych Programowanie - 8 bit)

Krótszy program ma dwa inity. Pierwszy testuje obecność 65c816 (modyfikując tylko rejestry CPU) i wypisuje linijkę tekstu za pomocą skoku do jciomain pisząc do kanału zerowego, a drugi nie robi nic (składa się tylko z RTS), więc o ile MyDOS nie jest wrażliwy na wołanie CIO dla kanału edytora, to nie wiem co innego mogłoby sprawiać problemy.
Dłuższy już jest bardziej skomplikowany, bo program poza pisaniem po ekranie na kolejnych initach dekompresuje wczytane bloki za pomocą inflate, więc tutaj pamięć zerowa jest w jakimś stopniu wykorzystywana.
Mogę przygotować specjalne wersje programów, które odpalą się bez Rapidusa, jeżeli ktoś byłby chętny odpalić to u siebie.

No i cieszę się, że mój post wywołał całkiem ciekawą dyskusję :)

547

(25 odpowiedzi, napisanych Programowanie - 8 bit)

Oczywiście problem musi być w źle wygenerowanym pliku, tylko nie miałem pomysłu jak to ugryźć.
O ile na starość nie skapcaniałem i kod inita mam poprawny (mam teraz wątpliwość, czy wychodzenie z niego jest przez RTS czy może trzeba zrobić jakiś magiczny jmp), to wydaje mi się, że może chodzić o problem #2, bo kod inita w krótszym programie woła tylko putline (a właściwie jciomain piszące do kanału zerowego). W sumie dziwne, bo prawie każdy mój prosty programik zaczyna się od $2000, a ten problem wyszedł dopiero teraz. Jaki w takim razie jest bezpieczny adres ładowania, żeby nie przeszkadzać MyDosowi?

548

(25 odpowiedzi, napisanych Programowanie - 8 bit)

Mam dziwny problem z plikami wykonywalnymi mającymi wiele sekcji INIT. Najprostsza sytuacja o jakiej teraz wiem, to plik, dla którego xebin drukuje coś takiego:

  0. 2000-21AD (01AE)
  1. Init 2000
  2. 4000-47FF (0800)
  3. 2009-200A (0002)
  4. 200B-200C (0002)
  5. 200D-200E (0002)
  6. Init 2003
  7. Run 2006

Pomijając sensowność takiego pliku (jest generowany skryptem) mam podejrzenie, że przez te wiele INITów program ładuje się poprawnie tylko w DOS II+/D, a w MyDos (i potencjalnie w innych) nie. Sam tego nie obserwowałem, bo ja używam tylko DOS II+/D, ale Pasiu raportuje, że wykonuje się tylko pierwsze INIT, a potem program ładuje się do końca i nie uruchamia poprawnie. Podobnie mam też z większym programem:

  0. 2000-2378 (0379)
  1. 26FC-27E9 (00EE)
  2. 2800-2807 (0008)
  3. Init 2000
  4. 7000-8F0C (1F0D)
  5. Init 2096
  6. 7000-99D3 (29D4)
  7. Init 2096
  8. 7000-9478 (2479)
  9. Init 2096
 10. 7000-7180 (0181)
 11. Init 2096
 12. 7000-701F (0020)
 13. Init 2096
 14. 7000-701F (0020)
 15. Init 2096
 16. 7000-701F (0020)
 17. Init 2096
 18. 7000-701F (0020)
 19. Init 2096
 20. 7000-701F (0020)
 21. Init 2096
 22. 7000-701F (0020)
 23. Init 2096
 24. 7000-701F (0020)
 25. Init 2096
 26. 7000-701F (0020)
 27. Init 2096
 28. 7000-701F (0020)
 29. Init 2096
 30. 7000-701F (0020)
 31. Init 2096
 32. 7000-701F (0020)
 33. Init 2096
 34. 7000-701F (0020)
 35. Run 2091

Działa tylko pierwszy init, a pozostałe wydają się być ignorowane, a plik ładuje się cały.

Czy ktoś miałby jakiś pomysł w czym tkwi problem lub jak ten problem zdiagnozować?

549

(19 odpowiedzi, napisanych Fabryka - 8bit)

@Fox - PIC ma architekturę harwardzką, więc żadnego kodu w locie nie wygeneruje. Z drugiej strony napisanie sobie generatorów źródeł asemblera w jakimś języku skryptowym i skonkretyzowanie ich dla wszystkich przypadków mogłoby mieć sens.

550

(55 odpowiedzi, napisanych Bałagan)

@epi: Wujek Dobra Rada radzi - do kompilowania pod Windowsem zrób sobie co najmniej 700 MB ramdysku i przerzuć na niego TEMP, TMP itd. Zobaczysz odmieniony komputer...