Na czym miałoby polegać to oszustwo?
Działa jako stereo w maluchu czy nie?
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
FiSh 0.70 Bocianu wydał FiSh 0.70, shell ułatwiający przeszukiwanie zasobów serwerów TNFS.
Street Fighter II już na Atari 8-bit! Vega i jego zespół wydali finalną wersję kultowej bijatyki. Wymaga 4MB cartridge i 64KB RAM.
Elite Demo 6 na Atari 8-bit! Trwają prace nad konwersją kultowej gry Elite. Szóste demo wprowadza liczne poprawki błędów.
vbcc v5 dla 6502 Kompilator C vbcc doczekał się piątej wersji dystrybucji dla 6502. Zapewnia dużo szybszą arytmetykę FPU i nowe narzędzia.
HDDRIVER 12.75 Sterownik HDDRIVER, kluczowe narzędzie dla pamięci masowej Atari 16/32-bit, otrzymał aktualizację 12.75, która naprawia błąd w HDDRUTIL.
atari.area forum » Posty przez Fox
Na czym miałoby polegać to oszustwo?
Działa jako stereo w maluchu czy nie?
Jakieś konkrety, co się zepsuło i dlaczego nie da się czytać? U mnie działa.
"Stoi w miejscu" ? https://xxl.atari.pl/zx0-decompressor/ 10 października 2021, a Super Packer równo rok wcześniej.
Próbowałeś napisać do TeBe zamiast marudzić na forum?
W samą porę na zabawę sylwestrową! Brawo!
Na PCB jest: 2060-701572-002 REV A oraz naklejka z kodem paskowym i pod nim: 2061-701572-400 AE XT 7T10 QM53 2 0004370 0 374
Te zgrzyty nie są takie głośne - jakby zwykły dłuższy ruch głowicy. Co jest na tym EEPROM, że nie wystarczy przełożyć PCB?
Dane nie wydają się tak cenne, żeby płacić ileś tysi firmie zewnętrznej. Odgrzebuję źródła efektów na malucha i niektóre są chyba tylko na tym padniętym dysku.
Mam dysk WD5000BEVT-75ZAT0, który bez problemu działał w laptopie i po przełożeniu do kieszeni USB.
Niestety podłączyłem go do gniazda USB, które było luźne i od tego czasu dysk nie działa.
Po podłączeniu słychać pięć zgrzytów. Windows nie wyświetla partycji. Windowsowy Disk Manager proponuje mi "inicjalizację dysku".
Kieszeń jest ok, bo podłączyłem inną kieszeń i jest to samo.
Jak mogę odzyskać dane z tego dysku?
Jest tam jedna ZTCP nieszyfrowana partycja NTFS 500 GB.
if (adres1 > adres2)Adresy są nazywane w C wskaźnikami, np.
char *p = ...
p += 0x100; // zwiększ adres
*p += 5; // zwiększ bajt pod adresem pTo tym bardziej przeplot ma znaczenie - trzeba go dobrać do prędkości dekompresji.
Ładne! Podoba mi się też intro.
32:49 - glitch na dole kolumny po prawej.
"Press Action to continue" ?
Co do prędkości odczytu, to wygląda mi jakby dyskietka była zaformatowana z nieoptymalnym przeplotem.
"scena" dryfuje, zrob jakis stream i wyznacz kierunek kapitanie :D
Będzie brzęczeć składowa 50 Hz i piszczeć 15 kHz.
Pytasz o to, czy masz 16 czy 48 KB podstawowego RAMu?
Jeśli masz cartridge z BASICiem, to:
? PEEK(106)/416 = 16 KB
40 = 48 KB (8 KB przesłonięte przez BASIC)
Wow, właśnie odkryłem, że Compiler Explorer ma cc65! https://godbolt.org/z/4YvxdeT7f
Nie ma.
To nie jest sam pomysł, tylko coś działającego. Napisz chociaż do autora, że Ci to potrzebne.
Akurat taka optymalizacja w kompilatorze nie jest zbyt skomplikowana: sprawdzasz, że inicjalizator tablicy jest stały i że tablica jest tylko odczytywana. Poprawiłem nie ze względu na wydajność, tylko czytelność kodu - jak widzę taki, jak Twój, to szukam miejsca, gdzie tablica jest modyfikowana oraz dlaczego literały znakowe konwertują się do wskaźnika nie-const - to powinien być błąd kompilacji. Niezależnie, czy targetem jest 6502 czy Xeon.
Bardziej skomplikowana jest analiza zakresu zmiennych.
Jako twórca kompilatora widziałem większe "kwiatki", ale to już przy jakimś piwie kiedyś. I o LLVMie. ;)
Lepiej napisać to tak:
static const char * const msg[] = { ... };I wtedy to jest zwykła tablica o stałym adresie (spoko, non-stop spotykam się z kodem napisanym tak, jak Ty napisałeś :).
Kluczowe jest, czy kompilator zrozumie, że "i" jest w zakresie 0..127 i wtedy:
; AX=i
asl @
tay
lda msg,y
ldx msg+1,y
jsr pushaxTu widać, że w przypadku 65816 nie ma to znaczenia.
nie wiem jak jest dokładnie w CC65 (trzeba by podpytać np. Fox-a) ale wydaje mi się że stos jest emulowany (przynajmniej gdy wybierzemy "większy model pamięci/adresowania"). Niestety narzut kodu przy realizacji w tego w ten sposób jest dość spory i mam wrażenie że wydajność kodu generowanego przez kompilator drastycznie spada.
ABI cc65 stosuje do argumentów i zmiennych lokalnych stos programowy. Na stronie zerowej jest wskaźnik o identyfikatorze "sp". Stos sprzętowy jest używany tylko do adresów powrotu i na dane tymczasowe. Odczyt z wierzchołka stosu programowego wygląda tak:
ldy #1
lda (sp),y
tax
dey
lda (sp),yNa tej zasadzie mamy dostęp do wierzchnich 256 bajtów stosu.
Wydaja mi się że w przypadku 65xx i C problemem stają się również operacje które wymagają użycia dużej ilości
wskaźników, przykładowo:ctx->iocb.len = 256;
Tu widzę tylko jeden wskaźnik: ctx. Zagnieżdżone struktury mają offsety będące stałymi czasu kompilacji.
; AX=ctx
sta ptr
stx ptr+1
ldy #offsetof(ctx_iocb.len)
lda #<256
sta (ptr),y
iny
lda #>256
sta (ptr),y@Fox: Możesz wyspecyfikować, o co ci chodzi? Czego według ciebie nie zrobiłem lub co zrobiłem a nie powinienem? I przede wszystkim, czemu powinienem byl tak zrobić (lub nie)? Konkrety proszę. Przyglądałem się fragmentom, np. jak robiona jest pętla dla tablicy dłuższej niż jedną strona albo jak jest robione memcpy. Ale całego kodu nie przeglądałem bo nie było to dla mnie interesujące.
Twierdzę, że wydajność kodu zależy od tego, czy ISA jest dostosowana do semantyki języka programowania.
Twierdzisz, że "można spokojnie napisać kompilator", "Bez żadnego problemu", "zadanie dla studenta 3-go roku informatyki", ale nawet nie zajrzałeś do wyników cc65, nie wspominając o jego algorytmach optymalizacji.
Jeśli nie było to dla Ciebie interesujące, to skąd tak śmiałe tezy?
Myślisz zbyt "szablonowo" - język wejściowy to jedno, kod generowany to drugie. Można spokojnie napisać kompilator
(...)
nie przyglądałem się temu jak wygląda wygenerowany kod maszynowy.
Ciekawe podejście do problemu.
Dzięki za odpowiedzi! Autor posta chyba popłynął. W komentarzu ktoś mu wytknął, że nie wszystkie myszki działają z pasywną przejściówką.
Hmmm, nie szukają w tym WDC inżyniera kompilatora? ;)
Z C na 6502 są dwa podstawowe problemy:
większość kodu operuje na intach, które są co najmniej 16-bitowe
mocno używany jest stos, a 6502 oferuje tylko dostęp do elementu na wierzchu i ma mały stos
65816 rozwiązuje oba te problemy. Nie widziałem kodu wygenerowanego dla 65816, ale mogę się założyć, że jest znacznie bardziej wydajny, niż dla 6502.
Nie widzę żadnego odniesienia do 6502. To na pewno ten link co trzeba?
Pod zdjęciem adaptera: "It has a full-fledged computer inside it, usually a simple embedded processor with a 6502 core".
atari.area forum » Posty przez Fox
Wygenerowano w 0.105 sekund, wykonano 12 zapytań