476

(1,754 odpowiedzi, napisanych Fabryka - 8bit)

No ale zaraz... Nie wiem czy rozumiem. Czy rozmawiamy tu o plikach ładowalnych AtariDOS? Nagłówek $FFFF itd? Bo z dyskusji wnoszę, że tworzony jest tu niekompatybilny format pliku ładowalny tylko przez xBios. Jeśli tak, to nie powinien być to *.XEX, tylko jakiś powiedzmy *.XBS i wtedy XXL nie musiałby ograniczać się do tego formatu i mógłby zamieszczać w nim jeszcze jakieś metadane i inne miodności jak format kompresji itd. Nie jestem jednak za tym, aby ten format "udawał" standardowe pliki XEX, skoro nie załaduje się z żadnego DOSa.

477

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

To była karta MMC 16 MB, więc nie dziwię się, że nie zadziałała. U mnie działają microSD w adapterze sformatowane na FAT32.

478

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

Uff... już myślałem, że mamy następnego buga do kolekcji ;)

479

(41 odpowiedzi, napisanych Konsole)

1. AdamK
2. Sikor
3. Jesionen
4. pin
5. perinoid
6. AtariGamer
7. Bachoo
8. Eagle
9. alexthissen
10. voy
11. Drupi77
12. dragmar
13. Jaybezeone
14. laoo/ng

Tylko nie mówcie żonie.

480

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

Szybkość przyrostu tej listy jest motywatorem, żeby jednak pojawić się na zlocie :)

481

(117 odpowiedzi, napisanych Programowanie - 8 bit)

Następny ficzer użyty i następny błąd znaleziony :)

    .segdef seg $4000 $4000 R bank 

    .segment seg
l    nop
    .endseg
    
bank = $15

generuje mi błąd:

mads.exe test.asm
l       nop
test.asm (5) ERROR: Label L declared twice (BANK=21)

Eksperymentując odkryłem, że można go obejść na dwa sposoby: ustawiając numer banku w .segdef jako liczbę, albo definiując etykietę bank przed .segdef

Te obejścia są bezproblemowe, więc to nic pilnego, ale zgłaszam, bo to nie jest zachowanie, którego bym się spodziewał.

Przy okazji odkryłem, że kuleje trochę ustalanie, czy segment ma być read-only. Taki kod:

bank = $15

    .segdef seg $4000 $4000 R bank 

    .segment seg
v    equ $80

l    sta v
    .endseg

Generuje mi ostrzeżenie

test.asm (9) WARNING: Label V is only for READ

a listing ma w tym miejscu taki wpis:

     7 = 15,0080        v    equ $80

Nie znam wnętrzności madsa, ale widać, że definiowanie etykiet wewnątrz segmentu o wartościach spoza segmentu jest problematyczne. Prawdę mówiąc przypisanie tej etykiety do banku $15 też nie jest czymś, co bym się spodziewał i chyba tu tkwi problem i może rozwiązaniem byłoby, żeby do banku segmentu zaliczać tylko te adresy, które się w tym segmencie zawierają.

482

(2 odpowiedzi, napisanych Konsole)

Cześć.
W przypływie wzmożonego szaleństwa (aczkolwiek nie posądzałbym żadnego z bywalców tego forum o zdrowie psychiczne) naszła mnie niechcąca się odeprzeć chęć spróbowania się z kodowaniem na Atari 7800.
Chciałbym sobie kupić jakąś, ale naszła mnie równocześnie myśl, że w dzisiejszych czasach nie jest do końca oczywistą decyzja, czy lepiej kupić konsolę w wersji PAL, czy NTSC. Pod względem podłączenia jej do czegoś to nie ma znaczenia, ale pod względem liczby potencjalnych konsumentów treści, to środowisko amerykańskie zdaje się być wielokrotnie bogatsze od europejskiego (nie mówiąc o polskim, gdzie 7800 praktycznie nie istniała).
Czy zatem jest jakaś przesłanka nad preferowaniem w poszukiwaniach wersji PAL, czy może lepiej szukać NTSC?

483

(38 odpowiedzi, napisanych Programowanie - 8 bit)

Dzięki chłopaki! Bardzo wiele mi się rozjaśniło.
W kwestii ew. wyjaśnień, to oczywiście nie chcę sam wydawać żadnych kartridży, tylko potrzebuję jednego flaszującego stricte do celów developerskich. I oczywiście że będę uruchamiał grę na emulatorze, ale nie mogę sobie pozwolić, żeby nie testować jej równolegle na prawdziwym hw.
Z tego co przetrawiłem, to na moje potrzeby najlepszy byłby albo AVGCart, albo Ultimate Cart z tego względu, że można na nich "montować" pliki *.CAR z karty SD, co jest idealnym przypadkiem użycia dla mnie. The!Cart ma tę wadę, że wymaga wgrania pliku przez Atari za pomocą np SIO, co znacznie utrudnia pracę. Kwestia jest tylko taka, że The!Cart można kupić zdaje się od ręki, a jak wygląda sprawa z AVGCart i Ultimate? Widzę na AtariAge jakieś stare wątki z preorderem, co nie wróży dobrze. Ktoś coś wie? Jest jakiś wtórny rynek może?
A może ewentualnie ktoś byłby skłonny pożyczyć na parę tygodni swojego gdzieś na wiosnę jak już będziemy mieć coś działającego na emulatorze? Tak ad maiorem dei gloriam? ;)

484

(38 odpowiedzi, napisanych Programowanie - 8 bit)

@Mq oczywiście gra nie będzie dedykowana na flashowalnego kartridża. O flaszkach mówiłem tylko w kontekście deweloperskim, żebym sam mógł ją na czymś testować, a widzę, że taki The!Cart potrafi emulować bardzo wiele typów, więc póki co skłaniam się ku niemu. Docelowo chcę wybrać jakiś typ kartridża 1 MB (bo różnią się sposobem bankowania) i przygotuję obraz CAR, który będzie można sobie sflaszować jak ktoś chce, ale oczywiście głównym celem jest, aby zrobić jakąś małą edycję kilku sztuk i zasadniczy sens mojego pytania był taki, jaki rodzaj kartridża opłaca się wybrać, żeby łatwo dało się go flashować oraz żeby był łatwy w produkcji właśnie dla tej małej serii dedykowanych kartridży (podobnie jak było z TP).
@Sikor: myślimy o doczytywaniu. To czy to da się zrobić na 130XE to kwestia wymagań silnika gry, jak bardzo da się zoptymalizować, ale prawdę mówiąc zamiast żyłować wersję plikową na 130XE wolałbym zrobić kartridżową na 65XE oraz plikową na coś większego - kwestia włożonego wysiłku, a może i fizycznych możliwości jak bardzo da się zejść, a aż tyle czasu na optymalizację nie wiem czy mam.

485

(38 odpowiedzi, napisanych Programowanie - 8 bit)

Dzięki chłopaki za odzew :)
@grzybson: Myślałem o bankowaniu po 8kB ze względów oszczędnościowych - rozmiary buforów jakie używam lepiej dałoby się poupychać w takich bankach i ostatecznie zająłbym mniej pamięci, ale po przemyśleniu to rzeczywiście nie jest chyba warte włożonego wysiłku i lepiej od razu nastawić się na 1 MB ROMu bankowane po 16 kB.
@inni_pytający_się_o_wersję_plikową_PORTB: Jak najbardziej chcemy wypuścić wersję plikową, ale tutaj w grę wchodzi kwestia... hmm... "polityczna", bo jakie były reakcje na party version? "A dlaczego to hur wymaga tyle ramu dur!!1", "E tam, tak to każdy potrafi. Wyczynem to byłoby zmieścić się w 64 kB tak jak na komodore" i tego typu dyrdymały. Więc ja wiem już teraz, że wersja, która będzie wymagała czegoś więcej niż stock atari na bank spotka się z krytyką. Oczywiście można machnąć na to ręką, ale włożyliśmy w projekt na tyle dużo wysiłku, że chcemy zrobić to porządnie, stąd pomysł wersji kartridżowej (chociaż pewnie kartridż 1MB też będzie krytykowany, bo komodorowski zajmuje mniej), a w drugiej kolejności, na bazie wersji kartridżowej wersja plikowa na dodatkową pamięć. Nie jestem pewien jeszcze ile, ale w 512 kB zmieścimy się z zapasem, nie wiem tylko o ile da się zejść mniej (liczba roboczych banków wymagających do działania silnika nie jest duża, a resztę danych można albo doczytywać, albo trzymać spakowane).
W celach deweloperskich w sumie nie potrzebuję emulować pełnego kartridża 1 MB, bo do testów przecież nie trzeba mieć na pokładzie wszystkich poziomów i wszystko da się przetestować jak będą powiedzmy trzy. W tej chwili mam w atari Ultimate 1MB. Da się nim udawać jakieś kartridże i jeśli tak, to jakie duże? A SIDE2? Tam da się udawać kartridż 256 KB, czy coś źle rozumiem? Ewentualnie z innych proponowanych co można w miarę bez problemu nabyć? Na www.mega-hz.de widzę że The!Cart można kupić za 60 euro... w sumie źle to nie wygląda.

486

(38 odpowiedzi, napisanych Programowanie - 8 bit)

Na SV 2018 pokazaliśmy plikówkę party version naszego Flimbo's Quest. Gra to jednak nie demo i musi działać na jakiejś sensownej konfiguracji, stąd pomysł, aby wersję finalną przygotować na kartridżu, żeby działał na stockowym 65XE.
I stąd pytanie do kolegów biegłych w programowaniu kartridży, jak to ugryźć, bo sam tego nie robiłem? Kryteria, nad jakimi się zastanawiam, to:
- Rozmiar to co najmniej 512 kB, ale raczej 1 MB (banków romu nie da się ponownie użyć, wszystko musi być już rozpakowane i gotowe do użycia, a sama implementacja paralaksy potrafi pożreć nawet 64 kB danych, nie mówiąc o soft-sprite'ach; gra ma 7 poziomów, więc można sobie przemnożyć),
- najefektywniej pamięciowo byłoby, gdyby miał bankowanie po 8 kB,
- łatwość developowania to chyba nie problem, bo wystarczy pewnie przygotować odpowiedni plik car i emulator chyba łyka go bez problemu,
- przyjazność dla użytkowników.

No i najbardziej martwi mnie ten ostatni punkt, bo wiadomo, że wszystkim atarowcom z natury rzeczy się nie dogodzi, a chciałbym zminimalizować liczbę tychże wieszających na nas psy. Wiadomo, że jak "ktoś" wyda taki kartridż, to można będzie go kupić i odpalić, ale jak wygląda kwestia emulacji na jakichś urządzeniach flaszujących? Jakie tutaj są ograniczenia, czy wytyczne, których warto się trzymać? Jakie są popularne rozwiązania? Pytam się także w kontekście uruchamiania tego przez nas, bo fajnie byłoby gdybym miał możliwość odpalenia karta na prawdziwym sprzęcie, a nie tylko na emulatorze, więc jakiś flaszer by się przydał. W ogóle nie pierdzielę głupot i warto zawracać sobie głowę takim zagadnieniem?

Czy wybór kartridża Typ 38 (Switchable XEGS 1 MB cartridge) byłby dobry?

487

(117 odpowiedzi, napisanych Programowanie - 8 bit)

No i o to chodziło. Żeby maszyna pomagała, jak człowiek zrobi jakąś wierutną głupotę, bo nie wiem jak inni, ale ja nieomylny nie jestem. Dziękować!

488

(117 odpowiedzi, napisanych Programowanie - 8 bit)

   434
   435 A01C            backgroundCharsSrc .wo
   436 A01C 00 00        backgroundScrollDiff .wo 0
   437

Chyba za bardzo ufam, że mads zgłosi błąd przy niepoprawnym kodzie. I kosztuje mnie to wiele godzin szukania nie tam gdzie trzeba :(

489

(117 odpowiedzi, napisanych Programowanie - 8 bit)

A to to ja wiem, że zrobiłem bład, zgłaszam tylko, że mads ten kod zaakceptował jako poprawny.

490

(117 odpowiedzi, napisanych Programowanie - 8 bit)

Próbowałem użyć struktur w madsie. Pierwszy problem na jaki się natknąłem, a jaki chciałbym zgłosić, to niedostateczna diagnostyka błędów. Użyłem wewnątrz zamiast deklaracji .byte deklaracji .by, bo myślałem że są zamienne tak jak poza strukturą i mads nawet się nie zająknął, a zignorował pole z .by.
Drugi problem, że jeżeli nie poda się nazwy pola, to takie pole zostanie zignorowane. Również bez błędu ani ostrzeżenia. Niby problem z czapy, ale nie do końca, bo akurat definiowałem sobie strukturę odzwierciedlającą istniejącą strukturę, tylko kilku pól nie używałem, więc nie nadałem im nazwy. I po dość długim debugowaniu odkryłem, że offsety mi się poprzesuwały, bo mads ignorował pola bez nazwy.
Przykładowy kod obrazujący problemy:

    org $2000
    
.struct IgnoredKeyword
dontWork .by    ;ignored keyword here
works    .byte  ;as a result this have index 0
.ends

    lda #IgnoredKeyword.works
    ;ldy #IgnoredKeyword.dontWork ;test.asm (9) ERROR: Value out of range
    
.struct MissingLabel
    .byte    ;no label here
label   .byte    ;as a result this have index 0
.ends

    lda #MissingLabel.label

Produkuje taki listing:

mads 2.0.7
Source: test.asm
     1                     org $2000
     2                     
     3                 .struct IgnoredKeyword
     4                 dontWork .by    ;ignored keyword here
     5 = 0000            works    .byte  ;as a result this have index 0
     6                 .ends
     7
     8 FFFF> 2000-2003> A9 00        lda #IgnoredKeyword.works
     9                     ;ldy #IgnoredKeyword.dontWork ;test.asm (9) ERROR: Value out of range
    10                     
    11                 .struct MissingLabel
    .byte    ;no label here
    13 = 0000            label   .byte    ;as a result this have index 0
    14                 .ends
    15
    16 2002 A9 00            lda #MissingLabel.label

491

(4 odpowiedzi, napisanych Emulacja - 8bit)

Zasadniczo...
niech ktoś

Ale zagadnienie wygląda mi na skomplikowane, bo jednak organizacja pamięci video w snesie i jego scrolling wydaje się bardziej przewidywalne niż w Atari. Chyba raczej trzeba byłoby pójść w analizę kolejnych klatek wychwytując podobieństwo w postaci przesunięć - tak jak robią do kodeki.

492

(48 odpowiedzi, napisanych Bałagan)

Jacques napisał/a:

@Pin, Laoo

Moglibyście podać namiary gdzie kupiliście swoje konwertery (które działają z ST)?

Ja niestety niewiele mogę pomóc, bo nie mam pojęcia czy on działa z ST, bo ani ja, ani kolega nie mamy ST, a druga sprawa, to nie wiem gdzie on to kupował. Ja zamówiłem u majfrienda, ale jeszcze mi nie doszło, to co najwyżej mogę dać znać jak działa z VBXE, jak będę go miał.

493

(48 odpowiedzi, napisanych Bałagan)

Zanim kupiłem konwerter z pierwszego posta (na szczęście umówiłem się ze sprzedawcą że będę mógł oddać), testowałem urządzenie kolegi:

https://i.imgur.com/CasIwYw.jpg

Ono działa poprawnie. Jakość dla mnie była zadowalająca. Od biedy dałoby się stosować je jako przejściówkę HDMI, bo ma takież wejście. Cena tylko sporo większa. I gabaryty.

Cobol napisał/a:

Co systematyzujesz ?

Konwertery, jeśli ktoś chciałby kupić, żeby nie wszedł na minę, bo nigdzie nie piszą, czy konwerter konwertuje RGB czy tylko composite.

494

(48 odpowiedzi, napisanych Bałagan)

Temat wałkowany, ale u mnie aktualnie na topie, więc pomyślałem o jakimś usystematyzowaniu.

Otóż odkryłem, że konwerter SCART -> HDMI ze zdjęcia nie konwertuje sygnału RGB, więc nie nadaje się do podłączania VBXE.

https://i.imgur.com/CAcq6nG.jpg

A szkoda, bo jest bardzo mały i poręczny.

495

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

Zaczynanie tego wątku było błędem, bo skoro nawet Fox nie zrozumiał intencji, a ludzie zaczynają narzekać dlaczego vbxe niem ma obrotów i skalowania, to wnioskuję, że w naszym światku nie ma jednak gruntu na merytoryczną dyskusję na ten temat.

496

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

@xxl akurat obie rzeczy da się zrobić rdzeniem rapidusa. Nad prototypem "copperlisty" zapisującej rejestry sprzętowe nawet z Pasiem pracowaliśmy, ale nic z tego nie wyszło (było to możliwe, tylko zabrakło zapału), a trigger na pozycje plamki to po prostu licznik. Tak jak mówiłem w FPGA Rapidusa jest jeszcze masę wolnego miejsca, nie ma tylko komu się tym zająć.

497

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

Tego się spodziewałem, ale tak jak napisałem na początku, chciałem się spytać, bo nie jestem na bieżąco, a przebrnąć przez kilkuletnie zasoby forum mi się nie udało. Nie wiedziałem też, jak bardzo upchany jest rdzeń, bo skądinąd wiem, że rdzeń Rapidusa zajmuje tylko ułamek zasobów.
No i TeBe nie bulwersuj się tak, bo to przecież oczywiste, że nie chodziło mi o przyjazność dla programisty, która jest rewelacyjna, bo prościej oprogramować się tego nie da, tylko o przyjazność dla CPU, aby miał mniej danych do przewalenia
generując jakąś zawartość.

498

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

Jak bardzo możliwości VBXE zostały już wyryte w kamieniu, a jaki jest jeszcze potencjał na robienie rozszerzeń do tego boarda?

Po to jest forum, żeby rozmawiać, więc tak tylko się pytam, a nie wiem jakie są fizyczne możliwości w kwestii upychania w rdzeniu czegoś nowego oraz jaka jest ochota twórców na pochylanie się nad projektem.

Otóż z tego co pomyślałem trochę nad tematem, to coraz bardziej męczy mnie refleksja, że boardowi do ideału brakuje trochę balansu w stosunku do wydajności maszyny, z którą ma pracować. Temat jest chyba znany każdemu, kto próbował to programować, bo nie chodzi o to, że VBXE umie za mało, tylko że właśnie za dużo, żeby atari zadowalająco dało radę z obsługą tego wszystkiego i wyjście poza przeglądarkę plików BMP na graphics compo jest po prostu trudne.

Konkretnie to myślę nad rozszerzeniem istniejącego trybu działania na inne tryby graficzne, które w praktyce byłoby swoistym downgradem możliwości, ale powinno dać zauważalnego kopniaka wydajnościowego. W trybie HR każdy piksel jest opisywany przez nibel danych. Czy jest możliwe, aby taką organizację pamięci móc włączać dla trybów SR i LR? W zamian za 16 kolorów w pikselu (co dla atari jest wg mnie w zupełności akceptowalne) oszczędzamy dwukrotnie na pamięci ekranu oraz wydaje mi się, że dwukrotnie zwiększamy efektywność blittera.

Jak bardzo byłoby to trudne? Na pewno problematyczne jest rozszerzenie XDL, gdyż mamy tylko jeden wolny bit (2.6) którego nie powinniśmy zużywać na dokładnie ten cel, bo zamknęlibyśmy możliwość dalszego rozwoju, ale jakby użyć tego bitu na rozszerzenie komendy XDL do trzech bajtów, to wtedy wystarczyłby tylko jeden bit w trzecim bajcie na wymuszenie trybu 16-to kolorowego (i jeden na wyłączenie dla zachowania konwencji).

Ktoś ma jakieś refleksje? A może komuś zrodził się lepszy pomysł na uprzyjaźnienie VBXE?

499

(24 odpowiedzi, napisanych Fabryka - 8bit)

Udostępnij takiego zepsutego ATRa to będzie można myśleć co się zepsuło i ew. odzyskać pliki, jeśli to możliwe. Przy raportowaniu błędów do podstawowa sprawa, bo samo powiedzenie, że jest błąd niewiele niestety mówi.

500

(20 odpowiedzi, napisanych Fabryka - 8bit)

Mówiłem o jankesach - najpierw marudzą, że na CRT im źle wygląda a jak prosi się o zdjęcie co to znaczy, to żaden się nie odezwał.