Przejdź do treści forum
atari.area forum
Twoje polskie źródło informacji o Atari
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
Aktywne tematy Tematy bez odpowiedzi
Aktualności ze świata Atari
Jak stworzyć składankę gier na kasecie? Dziś, dzięki nowoczesnym narzędziom, jak program Turgen, ten proces jest znacznie łatwiejszy.
HDDRIVER 12.71 Nowa wersja najbardziej rozbudowanego sterownika pamięci masowych dla 16- i 32-bitowych Atari, z mnóstwem usprawnień i nowości.
Elite - port z BBC Micro na Atari XL/XE Wczesna beta portu kultowego Elite z BBC Micro na 8-bitowe Atari.
sAIOnara v3.0 Zaawansowany układ wideo Pancia, sAIOnara v3.0, bazujący na chipie CXA2075, jest już dostępny.
Altirra 4.40 test 20 Nowa wersja rozwojowa popularnego emulatora Altirra zawiera szereg usprawnień i poprawek błędów.
Opcje wyszukiwania (Strona 35 z 116)
laoo/ng napisał/a:Te fragmenty w dokumentacji znam, ale nie tłumaczą one np. jak otrzymać 16 młodszych bitów z adresu 24-bitowego.
pewnie przesuwają bity >> lub << lub AND-ując
możesz też stworzyć jakieś makro które będzie wycinać konkretnie
p.s.
ORG powyżej $FFFF mads nie obsłuży, bo nie miałby jak zapisać tego do wyjścia. ATARI DOS czy SDX nie obsługują adresów > $FFFF
Możliwe jest użycie rozszerzenia mnemonika po znaku kropki '.' dla rozkazów typu LDA, LDX, LDY, STA, STX, STY:
.b lub .z BYTE
.a lub .w lub .q WORD
.t lub .l TRIPLE, LONG (24bit)
np.
lda.w #$00 ; A9 00 00
lda #$80 ; A9 80
Wyjątki stanowią rozkazy n/w, którym nie można zmienić rozmiaru rejestru w adresowaniu absolutnym (niektóre assemblery nie wymagają dla tych rozkazów podania znaku '#', jednak MADS wymaga tego)
#$xx
SEP REP COP
#$xxxx
PEA
Innym wyjątkiem jest tryb adresowania pośredni długi, który reprezentowany jest przez nawiasy kwadratowe [ ]. Jak wiemy tego typu nawiasy wykorzystywane są też do obliczania wyrażeń, jednak jeśli asembler napotka pierwszy znak '[' uzna to za tryb adresowania pośredni długi i jeśli nie zasygnalizowaliśmy chęci używania 65816 wystąpi błąd z komunikatem Illegal adressing mode. Aby "oszukać" assembler wystarczy dać przed kwadratowym nawiasem otwierającym '[' znak '+'.
lda [2+4] ; lda [6]
lda +[2+4] ; lda 6
Unary operators:
+ Plus (does nothing)
- Minus (changes sign)
~ Bitwise not (complements all bits)
! Logical not (changes true to false and vice versa)
< Low (extracts low byte)
> High (extracts high byte)
^ High 24bit (extracts high byte)
= Extracts memory bank
: Extracts global variable value
w G2F można wyłączyć wiersze (z prawej strony ekranu ustawić wartości na 0) wtedy zostanie zapisany krótszy MIC
a jak wygląda kwestia detekcji kolizji? jakoś wspomagana czy bez wspomagania?
xxl napisał/a:estowo funkcja blittera - zapisanie calego ekranu gr.8 czyli 320x192 pixele stala wartoscia to 193 cykle 6502...
pixele czy całe bajty ?
193 cykle 6502 zajmuje bliterrowi postawienie 320x192 = 61440 pikseli czy postawienie 7680 bajtów odpowiadających tym pikselom ?
co w takim razie daje takie przyspieszenie, bo jak wkładam np. kart AtariMax to nie mam przyspieszenia
standardowy kart z nie standardową zawartością ?
konkretniej, bo jak ma być to zgaduj zgadula to równie dobrze może to być kogel mogel
bloki co $400 bajtów
opt h+
org $4000
.pages $40
.align $400
kod.............
.align $400
kod .............
...
...
...
.endpg
własny nagłówek $ffff,start,end-1+3 (3 bajty napisu 'XXL'), można dać dowolne informacje, należy prawidłowo podać nagłówek w stylu Atari DOS jeśli ma być to ładowane przez Atari DOS, jeśli mamy własny loader możemy postąpić wg uznania
opt h-
org $4000
.local block0
org [a($ffff, block0, block0+.len(block0)-1+3), c'XXL'],*
lda #0
.endl
org $4400
.local block1
org [a($ffff, block1, block1+.len(block1)-1+3), c'XXL'],*
nop
.endl
masz na myśli te gry dla dzieci we flashu itp. na onecie, ubieranki są ulubionym zajęciem poza oglądaniem bajek
wystarczy usunąć znak #
i będzie OK, jest to zgodne z konwencją QA
nazwy nielegali podpatrywałem w Atari800Win, stąd Mads ich używa, można wstawić dodatkowe nazwy mnemoników jako alternatywę
prezentacja prac będzie w 3d czy 2d ? bo teraz 3d jest w modzie, może Pinek dokona konwersji do 3d :D
Super Packer też może pomóc
ostatnio coś podobnego udało mi się uzyskać w Notepad++ który jest lżejszy aniżeli Visual Studio czy WUDSN
plugin Explorer z lewej i plugin FunctionList z prawej
plugin Explorer można zassać przy pomocy wbudowanego menadżera, FunctionList nie jest na tej liście z powodu problematyczności, w załączniku ZIP z plikami i instrukcją instalacji, osobno DLL który jest stabilny
dodatkowo FunctionListRules.xml dla MADS-a, pokazuje listę dla .PROC, .LOCAL, .MACRO, .ENUM, .STRUCT
nowy mads 1.9.4 już jest http://mads.atari8.info
najważniejsza zmiana to możliwość nazywania parametrów makr, czyli większa przejrzystość kodu, łatwiej zrozumieć co makro wyczynia z parametrami
.macro SetColor val,reg
lda :val
sta :reg
.endm
.macro SetColor2 (arg1, arg2)
lda #:arg1
sta arg2
.endm
p.s.
w planach napisanie nowego kodu obsługującego pętle .REPT tak aby można było je zagnieżdżać, aktualnie aby to obejść trzeba posiłkować się makrami
a dlaczego nie działa z komputerem Pinokia ?
może dodam jeszcze dla Tych którzy są oburzeni potrzebą użycia znaku $ dla oznaczenia wartości Hex jest alternatywa, mogą użyć 0x, Candle z lubością tego używa
dla Tych którzy są oburzeni potrzebą kończenia bloku .LOCAL czy innego podobnego tworu odpowiednią dyrektywą .ENDL mogą użyć uniwersalnej wersji i o jeden znak krótszej .END
mogą także użyć klamr znanych z C { }, byle tylko te klamry były w osobnych wierszach
czyli dla każdego coś miłego ;)
pajero napisał/a:Oj, prze-kombi-nujecie zaraz.
Proszę wrócić do starych zasad, "LDX #0 cośtam" bo mi wali błędami.
Inne:
Moja sugestia - plik *.lab generuje etykiety UPCASE - proszę zrobić jak w orginale *.ASM.
Czyli, piszę:
ORG $1730
Etykieta LDX #
to plik LAB robi
00 1730 ETYKIETA
a winien wypluć
00 1730 Etykieta
od tego jest przełącznik -c Label case sensitivity
użyj go a będziesz miał w pliku LAB etykiety w takiej postaci jak zapisałeś, tylko miej na uwadze to że
to dwie różne etykiety
mono napisał/a:Hmmm. A co myślicie o czymś takim:?
Co powinno się zdarzyć?
zdarzy się ZERO
w załączniku mads po poprawce, tzn.
jeśli użyjemy łączenia mnemoników poprzez znak ':' będzie po staremu czyli w stylu QA, XASM
jeśli nie będzie łączenia mnemoników znakiem ':' to pojawi się błąd "Extra character in line"
ldx:dex $00 -> OK
dex $00 -> ERROR
p.s.
a może tak nauczyć edytor kontroli składni
nie można tego traktować jako błąd, jeśli zostanie to zablokowane przestanie działać kod typu
bracia Wiśniewscy, Probe i spółka, przecież Probe wcześniej na konkurs Abbuca wystawiał już Rick-a tyle że w wersji mocno okrojonej wizualnie
Ja pomogę, w załączniku wszystko co mam na temat Rick-a, m.in. mapy leveli 1 i 2
w paczce z mads-em jest mandelbrot
Znalezione posty [ 851 do 875 z 2,883 ]
Forum oparte o: PunBB
Currently installed 7 official extensions. Copyright © 2003–2009 PunBB.
Wygenerowano w 0.092 sekund, wykonano 15 zapytań