526

(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.

527

(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?

528

(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.

529

(318 odpowiedzi, napisanych Fabryka - 8bit)

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

530

(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ę :)

531

(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?

532

(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ć?

533

(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.

534

(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...

535

(55 odpowiedzi, napisanych Bałagan)

Nieprawda ;)

536

(55 odpowiedzi, napisanych Bałagan)

Ale mówimy o programiście czy jakimś supportowcu / serwisancie?

Ja np. w robocie mam tak i nie wyobrażam sobie pracy na laptopie nawet z zewnętrznym monitorem

http://i.imgur.com/XM78ZDY.jpg

537

(55 odpowiedzi, napisanych Bałagan)

Komputer dla programisty z ekranem 1366x768... Co Ty w vi chcesz programować?

538

(110 odpowiedzi, napisanych Software, Gry - 16/32bit)

Co za czasy. Teraz zupełnie normalną sprawą jest szybszy transfer z internetu, niż przepustowość pamięci video w Falconie...

539

(318 odpowiedzi, napisanych Fabryka - 8bit)

@mono: Nie miałem okazji tego sprawdzić, bo walczyłem z innymi rzeczami, a to śliska materia i wymaga skupienia, ale jest taki rejestr 6502 Control Register ($ff0084), którym można programowo zdjąć stałe zatrzymanie 6502 rozszerzając zatrzymanie "anticowe" na dostępy Rapidusa do pamięci atari (czyli, że priorytety dostępu do pamięci to Antic > Rapidus > 6502). Dodatkowo można wprowadzić 6502 w stan reset, co może być konieczne, bo z tego co się orientuję NMOS nie utrzyma stanu rejestrów zbyt długo. W atari podobno maksymalne zatrzymanie cpu na całą linię zbliża się do granicy utrzymania stanu. Ostatni zdefiniowany bit potrafi zatrzymać linią RDY (tak jak WSYNC).
Praca współbieżna obu procesorów rozpala wyobraźnię, ale jak wspomniałem jest ryzykowna, bo 6502 nie ma atomowych instrukcji RMW i zaimplementowanie na nim stabilnych mechanizmów synchronizacji może nie być możliwe. Programując taki system trzeba byłoby bardzo uważać, żeby nie zagłodzić 6502 (nmos), bo wystarczy dłuższa pętla dostępu rapidusa do atari, żeby 6502 nie miał żadnego cyklu przez dłuższy czas i stracił pamięć. To tylko teoria bo w sumie nie jestem pewien na 100% jak to jest z tym stanem 6502 i trzeba byłoby to po prostu sprawdzić.

540

(4 odpowiedzi, napisanych Bałagan)

Możesz jaśniej?

541

(24 odpowiedzi, napisanych Software, Gry - 8bit)

@Hrw: A już myślałem, że wymyśliłem coś oryginalnego... eh ci przeklęci Chińczycy... ;)

542

(24 odpowiedzi, napisanych Software, Gry - 8bit)

No cóż. Telefony bez klawiszy nie są konsolami do gier, a na ekranie nie ma szans na dobre sterowanie.
Niech ktoś wymyśli "stację dokującą" (taką trzymaczkę jak do auta na gps) rozmawiającą z fonem po bluetooth z klasycznymi klawiszami padowymi, to wtedy to miałoby sens.

543

(279 odpowiedzi, napisanych Fabryka - 8bit)

@draco: UI niestety nie jest trywialne, bo różne opcje nie są od siebie niezależne ("opcja A, jest aktywna, gdy wartość opcji B wynosi C itd") i próbowałem rozwiązać to w sposób, który okazał się bardzo skomplikowany i ciężki w modyfikacji. Wszystko jest w repo (src/firmware/RapidBoot.asm). Samo menu wygląda jakby w podstawowym zakresie działało, ale z niewiadomych powodów konfiguracja się nie zapisuje. Błędu nie udało mi się znaleźć i nie mam już siły z tym walczyć.

544

(279 odpowiedzi, napisanych Fabryka - 8bit)

@pasiu - uff ;)

@Pin - We flaszu jest kupę miejsca. Nada się dowolny program potrafiący wołać zewnętrzne procedury w asemblerze. Oczywiście idealnie byłoby aby to był kod 816 działający w jakimś wysokim banku korzystający w minimalnym stopniu z pamięci podstawowej, ale jeżeli pogodzimy się ze zniszczeniem zawartości pamięci Atari po uruchomieniu konfiguratora, to praktycznie nie ma żadnych ograniczeń.

545

(279 odpowiedzi, napisanych Fabryka - 8bit)

Mogę relatywnie szybko wytworzyć "produkcyjną" wersję narzędzia generującego flashera (z wsadem firmware'u i rdzeniami FPGA).
Na napisanie menu-wybieraczki ustawień nie mam jednak ani siły ani czasu i sądząc po odzewie nikt nie ma także ochoty.
Napiszę zatem jeszcze raz: potrzebuję kogoś do pomocy. Może zostałem źle zrozumiany, ale do napisania jest kod, który może być w praktyce zewnętrznym XEXem w 6502 abstrahującym od Rapidusa. Z mojej strony mogę dostarczyć pełny kod biblioteczny pobierający dane z Rapidusa i zapisujący tamże wybrane ustawienia oraz runtime, który ten kod uruchomi. Nie chcę pisać tylko UI bo się na tym nie znam i nie czuję się na siłach, bo już raz napisałem i wyszło beznadziejnie i nie działa - drugi raz mi się zwyczajnie nie chce. Mamy tylu chętnych, niech ktoś się wykaże.

546

(55 odpowiedzi, napisanych Bałagan)

A ja polecę desktopa z trzema monitorami, bo na laptopie to można sobie atari-area przeglądać, a nie programować...

547

(22 odpowiedzi, napisanych Bałagan)

Jak już wygrzebujemy takie egzotyki, to przypomniało mi się, że w zamierzchłych czasach używałem czegoś takiego jak TakInfo :)
Ale potem facet wymyślił, że aplikacja będzie płatna i przestałem używać.

548

(279 odpowiedzi, napisanych Fabryka - 8bit)

Chłopaki biją się, kto pomoże z pisaniem softu i nie wiem komu mam dać tę devoperską Atarkę. Muszę przeprowadzić jakąś eliminację, żeby zostawić najlepszego...

549

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

Potwierdzam. Dla mnie też ta prawilna wersja Moon Patrol to tylko tak pierdząca.

550

(110 odpowiedzi, napisanych Software, Gry - 16/32bit)

Ale czad. Tempo wyświetlania podaje w ramkach a nie fpsach. PCtowcy chyba nie są w stanie operować tą jednostką.