2,676

(10 odpowiedzi, napisanych Kupię / Sprzedam / Zamienię Atari)

Ja byłbym zainteresowany cenami:
- Alien v's Predator
- Doom
- Flashback
- International Sensible Soccer
- Missile command 3d
- Tempest 2000 + płyta cd
- Ultra Vortek
- Wolfensteid 3d
- Zero 5
no i:
- Myst
- Space Ace
- Highlander
- Blue lightning

2,677

(100 odpowiedzi, napisanych Fabryka - 8bit)

Jakie są proporcje w rysowaniu treści i kasowaniu ekranu? Może zamiast czyścić ekran tradycyjnie wystarczyłoby odmalować znowu treść kolorem tła (w plot zamieniasz ora na and i zmieniasz adres tablicy masek pikseli).

Edit: Albo już nawet bez maskowania - wyznaczasz bajt i zapisujesz tam 0.

2,678

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

Tak właśnie planuję. W swoim BASXu mam konfigurację obszarów pamięci w pliku tekstowym w postaci:

;portb:start-stop
;romram
FE:D800-DFFF
FE:E400-FFBF
FE:C000-CFFF
FE:E000-E3FF
FF:A000-BFFF
;ext130XE
E1:4000-7FFF
E5:4000-7FFF
E9:4000-7FFF
ED:4000-7FFF
...
;lowram

Na razie ta wersja nie jest jeszcze udostępniona u Kaza (z oficjalną publikacją czekam aż odpluskwię błędy i zrealizuję postawione cele), ale niedługo będzie w postaci kolejnej bety. BASX póki co jest mocno nieoptymalny i wolny.

Jeśli zaś chodzi o używanie więcej niż 64k extram to jest tu kilka problemów:
1. BXE w trybie extend wrzuca tylko kod programu do pamięci ext zostawiając pamięć podstawową na tablicę nazw zmiennych, wartości zmiennych, tablicę zmiennych indeksowanych, stos basica, pamięć obrazu i pamięć pmg. Jest mechanizm, który sprawdza czy w ext założony jest ramdysk dosa 2.x żeby z nim nie kolidować. Trzeba by ten mechanizm rozszerzyć na testowanie ramdysków innych dosów, albo jak mówisz (i co uważam za rozsądniejsze) umożliwić ręczną konfigurację pamięci (albo i to i to).
2. Adresowanie pamięci programu (podejrzewam, że używane są adresy wirtualne) jest 16-bitowe tak więc na program nie można przeznaczyć więcej niż 64KB bez rozszerzenia całego basica o adresy 24-bit (albo zmianę koncepcji adresowania bieżącego wyrażenia za pomocą adresu w pamięci na np. nr linii + mapa nrów linii na adresy 24-bit). BXE stosuje też pewien trick, który wyklucza z całkowitej ilości pamięci przeznaczonej na program do 1KB - mianowicie zakłada, że cała linia nie może być dzielona między bankami i musi być zapisana w jednym banku (pewnie przy wyznaczaniu początków wierszy określany jest bank w jakim leżą, a potem czytanie tokenów odbywa się np. lda (adr),y).
3. Można by (jak radzi Draco) trzymać też zmienne indeksowane w pamięci ext, ale wtedy nie ma co się łudzić, że będą działać USR(ADR(...)), chyba żeby w takich przypadkach przepisywać ciąg do pamięci podstawowej, albo zakładać analogicznie jak z programem, że jedna zmienna musi być cała w jednym banku czyli nie może mieć więcej niż 16KB (aktualnie zmienna może mieć max 32KB - przynajmniej w Atari BASIC). W pamięci podstawowej trzymane byłyby wtedy tylko nazwy zmiennych i ich wartości, stos basica, ekran (z dl) i pmg.
4. Modyfikacja na pewno działałaby wolniej przy porównywaniu ciągów. W pamięci podstawowej (która jest liniowa) nie ma z tym żadnych problemów bo obydwa ciągi są naraz dostępne - w bankowanej już tak łatwo nie ma i trzeba przełączać banki przy każdym bajcie. Może w tym kontekście nie warto wrzucać tablic do exta, ale kusi te 64KB... Coś za coś.
5. Trzeba by generalnie przemyśleć jakie procedury mają zostać w obszarze $A000..$BFFF a co schować w extram (BXE na cartcie ma stały bank $B000..$BFFF a przełącza na stronie $D5 pozostałe banki w obszarze $A000..$AFFF adresując komórki $D500, $D501 i $D509 - $D508 mapuje bank stały co jest nieużyteczne). W extram zajęty zostałby tylko 1 bank (właściwie to tylko 8KB).

No i zastanowiłbym się nad bootowaniem BXE - wersja 7.2 ma możliwość ręcznego wyboru boota z dysku lub kasety co w przypadku carta ma sens, ale w przypadku ładowania z konkretnego nośnika zmieniłbym to na automatyczny boot z nośnika, z jakiego BXE jest wczytywany.
Póki co to tylko przymiarki, bo nie wiem czy będzie się dało te założenia zrealizować bez utraty korzyści, jaką jest szybkość działania BXE. W przypadku BASXa już widzę, że niektóre założenia były błędne i być może nawet po wprowadzeniu optymalizacji i obliczania adresów linii nie uda się choćby zbliżyć z prędkością do standardowego Atari Basic'a.

Edit: Bank ma oczywiście rozmiar 16KB a nie 4KB.

2,679

(6,304 odpowiedzi, napisanych Kolekcjonowanie)

zaxon napisał/a:

Plus ze to atarimax ramcart, zawsze go mozna przeflashowac.

Odstąpiłbyś tego atarimaxa za jakąś przystępną cenę?

2,680

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

Ja wiem Pecus. Ale pytanie faktycznie było zadane nieprecyzyjnie - czy istnieje wersja zhakowana gdzie program zawarty obecnie na cart'cie ładuje się np. z dysku do ram (romram/extram)? Pytam, bo namawiała mnie pewna osoba, której nicka tu nie przytoczę ;) aby zrobić pełną wersję dyskową uruchamianą np. z hdd. Stąd moje zainteresowanie, bo nie chcę pracować nad czymś co jest nieaktualne czy niekompletne. Inne pytanie brzmi: "co znajduje się na dyskietce i kiedy jest ładowane do ramu" (nie analizowałem jeszcze wersji 4.1, ale rom carta 7.2 mam zdezassemblowany)?

Edit: niegramatycznie się wyraziłem :) I znowu nieprecyzyjnie - wiem, że w wersji 4.1 ładowany jest plik "D:BASICXE.OSS" ale póki co nie wiem gdzie i co tam jest.

2,681

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

Ze strony jera można ściągnąć wersję 7.2 (bez dyskietki). Czy to jest najświeższa/najlepsza wersja ogólnodostępna? Od Kaza można pobrać wersję 4.1 łącznie z dyskietką, ale obawiam się że nie będzie ona pasować do wersji 7.2 (dyskietka).
Może ktoś ma komplet najświeższy i by się podzielił?

Edit: Chciałem też zapytać czy istnieje może wersja pełna nie wymagająca catrridge'a?

2,682

(100 odpowiedzi, napisanych Fabryka - 8bit)

Zeby odwrocic wspolrzedne wystarczy zrobić eor #$ff :)
Ale odwrócony dlist będzie na pewno szybszy.

2,683

(100 odpowiedzi, napisanych Fabryka - 8bit)

A może być 256x256? Współrzędne chyba łatwo skalować (2 x lsr @)? Czy problem jest bardziej złożony? Możesz uściślić?

2,684

(219 odpowiedzi, napisanych Zloty)

Chyba provider zaczął działać i odzyskał "coś" z backupu. Wcięło dwa artykuły, kilka postów na forum i masę komentarzy do "Inwazji jabłek".

2,685

(10 odpowiedzi, napisanych Kupię / Sprzedam / Zamienię Atari)

Może się źle wyraziłem. Oczywiście chodzi o wadliwy. Pierwszy post precyzuje o jakie zachowanie układów mi chodzi.

2,686

(10 odpowiedzi, napisanych Kupię / Sprzedam / Zamienię Atari)

No ba! Przecież to jasne jak słońce :D

2,687

(10 odpowiedzi, napisanych Kupię / Sprzedam / Zamienię Atari)

@Urborg: No to fajnie. Zadzwonię to pogadamy.

2,688

(37 odpowiedzi, napisanych Programowanie - 8 bit)

ADR zwraca adres w pamięci tego, co mu podamy. tak więc ADR(A$) to adres ciągu tekstowego (jego pierwszego bajtu/znaku), A$(N) adres n-tego znaku ciągu tekstowego. Samo ADR nie przypisuje nic niczemu.
"Bufor" który pewnie masz na myśli jest używany przez funkcje STR$ i CHR$ do tworzenia w locie nowych ciągów tekstowych i znajduje się pod adresem $5c0 dla CHR$ i $580 dla STR$ - zajmuje odpowiednio $40 i $80 bajtów, a więc ciąg tymczasowy powinien mieć co najwyżej 64 lub 128 znaków. Ponieważ nie jest on alokowany dynamicznie, jest to przyczyną błędnego działania konstrukcji

IF CHR$(34)=CHR$(35) THEN ? "ERROR!"

i analogicznej z STR$ (porównanie w przypadku STR$ zwróci 1 tylko kiedy obydwa ciągi mają taką samą długość niezależnie od zawartości).

Potwierdzam. Łącznie 50 zł. Podaj jeszcze konto.

2,690

(10 odpowiedzi, napisanych Kupię / Sprzedam / Zamienię Atari)

@pajero: Chyba się nie zrozumieliśmy. Ja chcę kupić Atari z uszkodzonymi GTIA z obydwoma rodzajami uszkodzeń. Ja nie chcę nieuszkodzonego - takie przecież mam :)

2,691

(37 odpowiedzi, napisanych Programowanie - 8 bit)

Rzeczywiście. Sztuczka z POKE 842,13. Ale to chyba jedyny (poza USR i świadomym przesuwaniem programu w pamięci procedurami maszynowymi) sposób na samomodyfikację programu w BASICu?

Kupię chętnie zanim wszyscy przerobią je wg recepty Simiusa. Chodzi mi o takie, które ma uszkodzenie GTIA typu 1.

Edit: Nabędę też chętnie wersję z uszkodzeniem typu 2, bo okazało się że w moim 800 XE mam jednak sprawne GTIA.

2,693

(37 odpowiedzi, napisanych Programowanie - 8 bit)

Dla kompletu spróbuj jeszcze:

A=1: ? ADR(A$(A))

Jeśli to piszesz w trybie bezpośrednim dostajesz różne adresy ze względu na to, że długość linii jest różna w każdej z podanych postaci a przecież tablica zmiennych indeksowanych znajduje się ZA KODEM PROGRAMU (linia w trybie bezpośrednim ma numer 32768 i zawsze jest częścią programu mimo, że BASIC jej nie pokazuje przy listowaniu; jest natomiast zapisywana przy CSAVE/SAVE i oczywiście ładowana przez CLOAD/LOAD). Tokeny indeksujące ciąg zajmują 2 bajty, liczba indeksująca ciąg zajmuje 6 bajtów, zmienna indeksująca zajmuje 1 bajt.
Przy wykonaniu tych samych instrukcji w kodzie programu niezależnie od postaci dostaniesz zawsze ten sam adres, ponieważ linia 32768 ma wtedy tylko token RUN.

Edit: W trakcie działania programu nie może się zmienić rozmiar zmiennych (nie można redeklarować zmiennych w BASICu), wszystkie zmienne deklarowane są w trakcie parsowania linii przy wprowadzaniu. W trakcie działania programu zatem zmienne się nie przesuwają w pamięci.

2,694

(219 odpowiedzi, napisanych Zloty)

Giera bardzo trafiona biorąc pod uwagę ekwilibrystykę, jaką trzeba było uprawiać oddając mocz w parcianej toalecie :) Na dodatek po zakończonej czynności spłuczka strzelała do niczego nie podejrzewającego delikwenta...
Bardzo fajne party! Pinus! Wielkie dzięki!
Dracon & Yerzmyey - dziękuję za przetestowanie maszyny.

Super! To podtrzymuję zamówienie.

A nie może być małe logo z przodu na lewej piersi? Na czarnym tle białe.

Edit: Chodzi o logo only mode.

2,697

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

No a ja ostatnio chciałem właśnie kupić 800xe z wadliwym GTIA i okazało się, że jest dobre :( Więc nie pomogę. Mogę tylko napisać, że jeśli ktoś chciałby się zamienić to chętnie oddam mu moje dobre 800xe a przyjmę takie z wadliwym GTIA (ale działającym rzecz jasna). A wtedy mogę służyć układem do testów.

Ja proszę dwie czarne koszulki L wersja logo only.

Sikoru - a czarnych koszulek L z małym logo Atari z przodu i czystych z tyłu byś nie miał?

2,700

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

Poproszę 1 szt. dla 65XE z expansion port.