76

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

@w1k: w sumie na Antonii II szybkość ładowania plików spod SpartaDOS X sięga 400 KB/s. Natomiast np. boot ATR-a na IDE+ to tylko ok. 30 KB/s. Gdyby Doom umiał się ładować pod DOS-em, to i na IDE+ byłoby pewnie szybciej, i na SIDE3 byłoby łatwiej.

Oczywiście, niczego nie sugeruję :)

77

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

Obie rzeczy na Rapidusie. Dubeltówka jest powtarzalna, pierwszą biorę na E1M1, drugą na E1M2.

Brak dźwięku poprzednio wystąpił też na Antonii.

EDIT ad dubeltówka: doczytałem, że tak ma być, tzn. druga i każda kolejna broń tego samego typu powinna być potraktowana jako paczka amunicji. Więc, o ile tak jest, to jest poprawka w stosunku do tego, co było poprzednio.

78

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

Zauważyłem jeszcze jeden mały błąd: czasami wzięcie karafki denaturatu ("health bonus"), pierwszej lub drugiej na poziomie E1M1 tak jakby nie generuje sygnału dźwiękowego. To wystąpiło mi raz w wersji dzisiejszej i raz w którejś poprzedniej.

Dzisiejsza wersja: byłem w stanie wziąć znalezioną dubeltówkę (shotgun), mimo że już jedną miałem. W poprzednich wersjach drugiej broni tego samego typu nie chciał brać.

Zastanawia mnie też, jak ten program oblicza czasy przejścia etapów, które wyświetla na końcu, skoro jedyny licznik czasu, jaki tu widzę, to jeden bajt RTCLOK3. To się przepełnia po 5 sekundach, a zważywszy że renderowanie klatki zajmuje od kilku do kilkunastu ramek, nie widzę dużych szans, żeby pomiar czasu był dokładny.

I faktycznie, zwiedzałem sobie poziom E1M2 (ten z wielkim labiryntem), byłem wszędzie, a na końcu wyświetliło, że czas przejścia był 2 minuty z groszami....

79

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

Pin napisał/a:

raz tylko przywiesiłem się w drzwiach

Mnie się udało dwa razy wpaść do wnętrza lewej ściany schodów w pierwszej komnacie ("lewej", patrząc w stronę pięterka). Też tylko się można wtedy obracać, ale w przeciwieństwie do drzwi nie da się tam niczego otworzyć, zatem taka wpadka to jest koniec danej przygody.

80

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

Ta wersja, póki co, na oko działa bez zarzutu. Dobra robota!

81

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

FPS:

a) wersja regularna: 7.69-8.00
b) wersja na Antonię II: 8.33-8.69

Ta druga mogłaby w ramach początkowych testów sprzętu sprawdzać też, czy istnieje ten sprzętowy kalkulator do mnożenia i dzielenia, z którego zamierza korzystać.

Edit: są kwiatki na ścianach


https://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=13858

82

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

DBR = $01 inside the card's divide (math.asm
;   udiv24): bank 0 for the absolute operands,
;   or POKEY is never acked (K = 0 here)

Aha, hehe, no tak, chodzi o zmienne tymczasowe

?q_hi    .word 0
?q_lo    .word 0

z modułu udiv24_v2.asm. Ale one chyba pochodzą z czasów, kiedy ten kod był w pierwszym segmencie 64k (banku 0), trzeba te dwie zmienne tam przenieść teraz. To pozwoli na pozbycie się rozkazów phb, phk, plb z miejsca wywołania udiv24 i z procedury obsługi IRQ.

83

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

Jak możesz, wklej tu procedurę obsługi IRQ. Ona się nazywa snd_irq i jest w module sound.asm.

84

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

Program się wywala, bo robi takie rzeczy:

https://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=13857

Mamy tu REP #$30: przełączenie na 16-bitowe rejestry AXY, dalej program wykorzystuje 16-bitowy rejestr Y do chwilowego przechowania czegoś, co odczytał sobie z tablicy znajdującej się pod $03E085, po czym idzie SEP #$10, czyli przełączenie na 8-bitowe rejestry XY (a akumulator zostaje 16-bit).

Natomiast procedura obsługi IRQ (m.in. timera1) znajdująca się pod $00041A zapisuje na stosie, a potem odtwarza, tylko rejestr X. Jeśli przerwanie strzeli akurat w chwili, kiedy rejestry XY przełączone są na 16 bitów, starszy bajt rejestru Y jest tracony.

Procedurę przerwania trzeba poprawić tak, żeby przechowywała na stosie oba rejestry, X i Y.

85

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

Czas ładowania: ok. 44 sekund.

86

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

Jak zawiesić wersję na Antonię II, po kolei:

1) włączyć komputer na zimno
2) załadować grę (u mnie: ATR z partycji SpartaDOS X)
3) wybrać New Game, potem poziom pierwszy
4) po pokazaniu się widoku na hangar, wcisnąć F
5) zwis na czarno
6) brak obrazu z VBXE, trzeba wyłączyć i włączyć komputer, żeby go przywrócić

Za następnym razem zadziałał, ale zawiesił się po zebraniu pierwszego przedmiotu. Tym razem nie na czarno.

PS. W zwykłej wersji wpadłem do środka schodów i nie mogę wyjść :))

EDIT: popsuta jest też muzyka na końcu hangaru.

87

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

Tak po prawdzie problemy ze stabilnością mogą dotyczyć nie tylko wersji na Antonię: poprzednia wersja też mi się raz zawiesiła, konkretnie przed wejściem do drugiego hangaru. Nie udało mi się tego potem powtórzyć.

88

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

Wersja na Antonię II jest szybsza (8 FPS zamiast 7.40), ale jest niestabilna: program za pierwszym razem zawiesił mi się na czarno od razu po wejściu na pierwszy poziom, za drugim razem to się nie zdarzyło, ale regularnie się wiesza, jeśli z gry wejdzie się do menu i wybierze "Read This!". W wersji "normalnej" to się nie dzieje.

Drugi feler, który mają obie: za szybka reakcja na przyciśnięcie spustu joysticka w menu, co skutkuje tym, ze kliknięcie w New Game często od razu wybiera też pierwszy poziom z menu następnego. Na wersji wczorajszej też to zauważyłem.

89

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

Można też popracować nad pewnymi formalnościami, np.

1) żeby sprawdzał na początku, czy procesor jest 65C816, a jeśli nie, wyświetlał stosowny komunikat zamiast się zawieszać.

2) żeby sprawdzał na początku, czy w komputerze jest odpowiednia ilość pamięci liniowej, a jeśli nie, to jak powyżej

3) żeby to samo robił z VBXE

4) żeby działał również wtedy, kiedy VBXE jest zmapowane na $D7xx, a nie tylko wtedy, kiedy jest na $D6xx.

90

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

Jeszcze jest taki kwiatek: kiedy do menu wejdzie się przerywając grę, wybierze się Read This! i przejrzy całość, po ostatniej planszy wyskakują na moment śmieci. Kiedy wejdzie się tamże przed startem gry, tego nie ma.

Co do pomysłów, muszę znaleźć "chwilę" czasu na przejrzenie plików źródłowych, co w tym tygodniu będzie bardzo trudne.

91

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

Cieszę się, że mogłem pomóc.

FPS: 7.14-7.40 (Antonia II)

Czas ładowania z HDD: 1 minuta i 9 sekund (poprzednia wersja: 1 minuta, 45 sekund).

Ciekawostka. Z ekranu startowego (poniżej) pierwsza linia, ta z czerwonym tekstem na białym tle, na emulatorze wyświetla się cała, a na Atari widać tylko dolną połowę (dolne 4 linie skaningowe).

https://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=13856

EDIT: tak to wygląda na Atari:

https://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=13855

92

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

Jeszcze jedna rzecz: czołówkę i panel dolny zmieniłeś na pełną rozdzielczość (320x2nn pikseli).

Czy nie da się reszty obrazów statycznych zrobić tak samo? Mam na myśli "Help", który się wyświetla, kiedy wybieramy "Read This!" z menu głównego, a także ekrany wyświetlane po zakończeniu hangaru: to wszystko nie jest animowane, więc chyba spokojnie może być w pełnej rozdzielczości?

93

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

FPS-y:

Altirra 14 MHz: 6.06-6.25
Antonia II: 6.66-6.89

EDIT 2:

Rapidus 20 MHz: 8.69-9.09
Rapidus 40 MHz: 11.76-12.50

EDIT:

Ale jest błąd, którego przedtem nie było: program nadpisuje paletę VBXE nr 0 (ciekawostka, że na emulatorze nie).

EDIT 3:

Rozwałka palety nr 0 VBXE nie występuje na Rapidusie ani na emulatorze, tylko na Antonii II. Bardzo ciekawe.

94

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

No, brawo, czekam na nową wersję zatem.

95

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

Pin napisał/a:

na Rapidusie działa. Draco - odpalasz to na Antoni2?

Na Altirrze też sprawdzałem. W Atari joystick na niego nie działa (ten sam joystick, który działał na Dooma) - najwyraźniej coś trzeba nacisnąć, tylko ja nie wiem, co.

96

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

U mnie nie działa. Tj. uruchamia się, ale nie reaguje na nic. I poza tym nadpisuje paletę 0 VBXE, dzięki czemu po resecie na ekranie przeważnie nic nie widać.

EDIT: działają tylko klawisze T i F.

97

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

Teraz jest elegancko, dzięki.

98

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

Teraz jest lepiej, jest krajobraz zamiast czarnego tła, a zakłócenia w wersji na Antonię zniknęły.

EDIT:

w1k napisał/a:

Jeśli chodzi o FPS, mierzę go, gdy naciskam F

Ja też, wyniki są z samego początku, zaraz po załadowaniu. Jeszcze raz:

Altirra 14 MHz: 5.26-5.40
Antonia II: 5.40-5.55 (wersja ogólna), 5.71-5.88 (wersja specjalna)
Rapidus 20 MHz: 7.69-8.00
Rapidus 40 MHz: 11.11-11.76

Czy byłby duży spadek FPS-ów, gdyby sam dolny panel zrobić w średniej rozdzielczości VBXE (tj. 320 pikseli w poziomie)?

99

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

Jeszcze jedno: wersja na Antonię nie działa dobrze.



https://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=13839

100

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

Altirra: 5.26-5.40 FPS
Antonia: 5.40-5.55 FPS (wersja na Antonię: 5.71-5.88)

Ciekawe, skąd ta różnica.

Ale w ogóle chyba jest błąd, patrz obrazek: za tymi oknami nie powinno być tak czarno i w poprzedniej wersji rzeczywiście nie było.


https://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=13838