826

(644 odpowiedzi, napisanych Programowanie - 8 bit)

temat nielegali jest słabo eksplorowany, być może stoimy na progu odkrycia nowych możliwości, w końcu brak danych na temat oddziaływań na rejestry sprzętowe szybkich zmian jakie powodują nielegale

827

(644 odpowiedzi, napisanych Programowanie - 8 bit)

jeśli wykorzystać nielegale do zmian rejestrów kolorów w rastrze, wówczas zastąpienie ich wersją legalną-dłuższą w cyklach CPU zmieni efekt końcowy

wow, zróbmy obrazek który będzie wyświetlany z udziałem nielegali :)

828

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

Larek, a od kiedy niby xBios wspiera turbo ?

829

(15 odpowiedzi, napisanych Programowanie - 8 bit)

program Antica umieść od początku strony pamięci, najlepiej na początku programu czyli $4000

830

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

Pajero, wysłałem Ci maila, cytuje:

w załączniku plik ATR

format dyskietki tylko S-ingle lub E-nhanced

wczytanie XBIOS.XEX skutkuje pojawieniem się menu ze spisem odczytanych plików, wybierasz je klawiszami 1..9, następuje odczyt

831

(99 odpowiedzi, napisanych Programowanie - 8 bit)

Pecus napisał/a:

Była tam tablica wartości wpisywanych do rejestrów w każdym kolejnym NMI, czyli było dłuuugie :), ale za to cała obsługa pod NMI, to 4 razy LDA + STA i zwiększenie liczników - no i działało, a że muzykiem nie jestem, to były to przypadkowe dźwięki.

zapuścić jakiś player po poprawce polegającej na zapisywaniu wartości rejestrów POKEY-a do tablic, potem to zgrać i mamy ultra szybki player, z tym że krótki kawałek zaka będzie już liczony w kilobajty

xBios ma tą przewagę że działa z jakimkolwiek playerem grającym na 2 kanałach, jeśli player zajmuje więcej czasu transmisja co najwyżej zwolni, każdy player da się poprawić na 2 kanały (pomijam sample), muzyk musi podejść do takiego tematu też odpowiednio

832

(99 odpowiedzi, napisanych Programowanie - 8 bit)

Pin-ek i znowu emocje biorą górę, Ty wiesz że nielegale są problemowe ale czy inni to wiedzą

biorą asembler który daje im nielegale i korzystają, jak dzieci w sklepie z cukierkami, mamusia i tatuś nie powiedzieli im że ząbki psują się od dużej ilości cukru

oj stary Ty stary, miej wyrozumiałość dla pełnych niewinności programistów hobbystów

833

(99 odpowiedzi, napisanych Programowanie - 8 bit)

podejrzewam, że chodzi o puszczenie playera tak przerobionego aby zapisy do rejestrów realizował jako zapis do pamięci (tablic), potem te KB danych można przerabiać na patterny, spakować jakieś wyraźne powtórzenia

834

(99 odpowiedzi, napisanych Programowanie - 8 bit)

no i ślicznie gra, ile lat trzeba było aby wynalazki zastosowane w Overmind, Joyride trafiły do mas ;)

835

(99 odpowiedzi, napisanych Programowanie - 8 bit)

napisz XXL co konkretnie poprawił Dorndorf, tak dla potomności, aby kolejne pokolenia nie popełniały tych samych błędów

836

(99 odpowiedzi, napisanych Programowanie - 8 bit)

a kto Wam kazał pozbywać się stacji dyskietek, starsze produkcje możecie sobie odpalać z HDD, najnowsze będą tylko z dyskietki :P

837

(27 odpowiedzi, napisanych Programowanie - 8 bit)

przepraszam Pin, ale jak Ty pod SDX ładujesz pliki ATR ? jak wyciągasz pliki z takiej gry jak np. Eidolon ? jak taką gre uruchamiasz ?

838

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

czy ktoś tu neguje istnienie stacji dysków, w dobie KMK, SIDE etc. chce się odciąć od SIO i narzucić jedyną słuszną drogę, przecież każdy ma emulator stacji dysków w postaci PC i SIO2PC, więc w czym problem aby taką dystrybucję XBIOS-a uruchomić w takim tandemie

ktoś tu chce mieć "gołe" Atari i KMK, SIDE aby przekonać nie obeznanych w temacie że tak zawsze było i być powinno, czy z czystego lenistwa widząc szanse mobbingu trolluje na rzecz swojej "wygody"

no tak PC+SIO2PC to nie to samo, elektronika inaczej pachnie jak się nagrzeje, puryści od siedmiu boleści

839

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

jellonek napisał/a:

i to jest przyczyna dla ktorej mazezam uzywa xBios?

Mazazem używa xBiosa bo XXL chciał przykładowo pokazać jak to działa, miał prawo, czy może nie było mu wolno?

840

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

gdyby olać XBios, program ładować spod jakiegoś ATARI-DOS-a (MyDos, SDX etc.) i wykorzystać same procedurki transmisji XBios-a w swoim programie, bez całego interfejsu inicjalizera etc. co by wówczas powstało, najmniej uniwersalne rozwiązanie, bo ograniczające się tylko do jednego medium które z góry przewidział autor programu

wszystkie dotychczasowe produkcje Overmind, Energy, Total Daze, Joyride itp. dysponują swoimi własnymi procedurami transmisji, nie można ich modyfikować bez ingerencji w program

XBios zostawia otwarte drzwi dla innych protokołów transmisji, przy minimalistycznych założeniach wykorzystania pamięci, rezygnacji z ROM, przerwań itd. ale jest to projekt skierowany bardziej dla programistów, tak jak nakładki na MS-DOS pozwalające korzystać z trybu chronionego

jedyne co bym w nim zmienił to możliwość relokacji pod wskazany adres, co bardziej wymagałoby symboli SDX

841

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

jellonek napisał/a:

tebe: mi przeszkadza ze xBios nie dziala z side. miljonom userow side pewnie rownie mocno to przeszkadza. ale to nie autor side nie przewidzial xBiosa - to autor xBiosa nie przewidzial urzadzen innych niz dzialajacych na sio. tj. przewidzial ze mozna podgrac inna wersje biblioteki, np. taka ktora nie istnieje.

to jak to SIDE działa z takim np. Energy-zinem gdzie jest własna transmisja SIO, czy z demami Tight-ów albo Hard-ów

czy projektant tego urządzenia uznał że jest mało programów z takim typem transmisji i nie warto się tym przejmować ?

electron napisał/a:

Ale xbios to mutant. Ze specyfiki działania zachowuje się jak sztywny całodysk, a mieni się być programem uniwersalnym do obsługi plików. Zdanie xxl-a "xbios bazuje na standardowym filesystemie" świadczy dla mnie o tym, że niestety XXL lekceważy rzeczywistość, która nie pasuje się do Jego pomysłów.

przygotowujesz dyskietkę, formatujesz (Single-90Kb, Enhanced-130Kb, Double-180Kb), nagrywasz jakieś pliki w standardzie DOS (w sensie VTOC itp.) i XBIOS będzie to czytało, zgodnie z tym jak Atari DOS-y zapisują dyskietki S,E,D

jeśli mamy do wydania jakieś demo czy grę bardziej rozbudowane to w czym przeszkadza wydanie jej w formie takiej dyskietki

electron napisał/a:

Zastanawiam się, czy osoby, które chcą tego używać chcą to robić dlatego, że jest lepsze, czy dlatego, że łatwiej przeczytać opis kilku funkcji xbiosa niż przekopywać się przez opisy CIO z różnych źródeł. Czyli po prostu lenistwo.

XXL jest osobą która przenosi gry z innych platform, Spectrum, BBC Micro, czy programy z tych platform przejmują się architekturą pamięci XE/XL, bezczelnie ładują swój kod w obszar $c000... albo o zgrozo od $00

XBios ułatwia to z czym normalnie trzeba się gimnastykować, upraszcza projektowanie zarządzania pamięcią, trzymanie DOS-a w pamięci i przywoływanie ROM-u narzuca inne podejście i na pewno nie jest ono elastyczne

innym przykładem może być demo lub gra które będą korzystać tylko z pamięci podstawowej, a resztę danych, kolejne części będą doczytywane podobnie jak ma to często miejsce na C64, chyba możecie sobie wyobrazić że efekty w demach potrafią być bardzo zachłanne na pamięć i nie tolerują kompromisów w tym względzie

842

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

przepraszam że pytam, ale w czym Wam ten XBios przeszkadza, jakieś urządzenie z tym nie działa bo ktoś nie przewidział XBiosa ?

wyłączyć ROM i mieć cały RAM dla siebie, dodatkowo możliwość ładowania przez SIO pod "dowolny" adres, super

w podobny sposób pewnie działają loadery odtwarzające sample podczas transmisji, własne przerwanie IRQ czy inna synchronizacja

jeśli będziemy robić to z udziałem DOS-a, to przed każdą operacją I/O musimy włączyć ROM i wywołać odpowiednią prockę CIO, potem wyłączyć ROM i wrócić do tego co przerwaliśmy na czas transmisji, organizacja pamięci zupełnie inna, nasze procki NMI nie mogą być pod ROM bo go włączamy, pamięć dla ANTIC etc. poniżej $c000

XXL ułatwił sobie i innym życie, tym innym którzy są zachłanni na pamięć RAM :)

843

(11 odpowiedzi, napisanych Programowanie - 8 bit)

w Mario Bros (konwersja z 5200) detekcja kolizji polega na sprawdzeniu podczas odrysowania ducha programowego, czy tło jest <> 0, jeśli jest różne to kolizja i dalsze uściślanie z czym ta kolizja nastąpiła

http://madteam.atari8.info/gry/mario2007.7z

stawianie/kasowanie duchów realizuje jedna procedura, dzięki metodzie EOR (XOR), czyli aby skasować poprzednio postawionego ducha, stawiamy ostatni kształt ducha ale przez EOR, aby postawić nową klatkę ducha używamy OR

pewne dodatkowe operacje są wymagane aby wiedzieć czy wcześniej była postawiona jakaś klatka ducha czy zaczynamy od czystego ekranu

dzięki tej metodzie udało zmieścić się intro do Panga w 2KB, bez potrzeby używania dwóch buforów dla zachowania płynności animacji obiektów

844

(11 odpowiedzi, napisanych Programowanie - 8 bit)

szybka detekcja kolizji, interko Raster/CPU

w Pangu detekcja kolizji kuli z bohaterem, kolizji harpun-kula realizowane są przez w/w metodę nachodzących się prostokątów/kwadratów (kula opisana jest poprzez wpisany w nią kwadrat), natomiast detekcja kuli - otoczenie (murki etc.) realizowana jest na znakach, z tym że dla każdego przesunięcia X kuli (X=<0..3>) jest inna detekcja, uwzględniająca przesunięcie 1 pikslowe, tylko to gwarantuje dokładną detekcję

w większości przypadków stosuje się metodę z czworokątem (w załączniku), czyli albo prostokąt albo kwadrat, jeśli się uprzeć to jakiś inny kształt też da się opisać takimi czworokątami

jak widać na postawie programiku z załącznika detekcja może być szybka

tutaj wersje bardziej pierwotne metody detekcji zaprezentowanej przez Rastera, dział poświęcony duchom C64
http://codebase64.org/doku.php?id=base:sprites

tutaj dla różnych kształtów
http://en.wikipedia.org/wiki/Point_in_polygon

kolizje kul z przykładową animacją, zmianą kierunku po uderzeniu etc. gdyby ktoś chciał robić bilard albo pinball to koniecznie musi to obejrzeć
http://processing.org/learning/topics/c … ision.html

845

(22 odpowiedzi, napisanych Programowanie - 8 bit)

ustawianie odpowiedniego rozmiaru rejestrów realizowane jest poprzez makra, parametrem jest wartość 8 lub 16

846

(22 odpowiedzi, napisanych Programowanie - 8 bit)

w mads jest też możliwość śledzenia rozmiaru rejestrów OPT T+

    opt c+t+
    org $2000

    rep #$20

    lda #0

dla w/w przykładu wystąpi komunikat błędu
ERROR: Bad register size

w tym przypadku prawidłowo powinno być

 lda.w #0

OPT T+ sprawdza rozmiar tylko dla adresowania absolutnego #

847

(22 odpowiedzi, napisanych Programowanie - 8 bit)

w mads ORG-a można zaprojektować wg potrzeb

 opt h-f+
 ORG [a(start), a(over-1)],$2000

start
         nop
over

adres asemblacji po nawiasie kwadratowym jest wymagany, zadziała to tylko gdy OPT H-

dla wspomnianego nagłówka $FBFB, ORG może wyglądać tak:

    opt h-c+
    ORG [a($fbfb),t(prg_start,prg_end-1)],$FFFF80

prg_start
    nop

prg_end

adresy są 24 bitowe

p.s.
w załączniku mads po poprawce, akceptuje adresy ORG 24 bit gdy OPT C+

848

(22 odpowiedzi, napisanych Programowanie - 8 bit)

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

849

(22 odpowiedzi, napisanych Programowanie - 8 bit)

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

850

(26 odpowiedzi, napisanych Programowanie - 8 bit)

w G2F można wyłączyć wiersze (z prawej strony ekranu ustawić wartości na 0) wtedy zostanie zapisany krótszy MIC