1 Ostatnio edytowany przez w1k (2026-07-30 16:11:22)

Cześć, zrobiłem sobie przerwę od UFO i moim kolejnym pomysłem było stworzenie prostego silnika E1L1 z DOOM-a. Ku mojemu zaskoczeniu konwersja poziomów przebiegła pomyślnie i byłem zaskoczony, że silnik radzi sobie również z różnicami wysokości, schodami i tym podobnymi. Postanowiłem więc oteksturować ściany. I voilà, wszystkie tekstury nagle ładnie się układały na ścianach. Postanowiłem więc dodać sprite'y, wrogów... Udało mi się zmieścić wszystkie poziomy z epizodu 1 w ATR.

To tylko test, problem leży w pamięci VRAM. Jest pełna. Co z nią? Udostępniam kody źródłowe, jeśli ktoś znajdzie rozwiązanie. Jedynym problemem są enemy AI i kilka dźwięków.

Pytanie... Jeśli nie dałoby się wgrać pozostałych danych do pamięci VRAM, czy ktoś byłby zadowolony z wersji bez tekstur na ścianach, ale w pełni funkcjonalnej?

Gra wymaga VBXE i Rapidusa. Można pomniejszać i powiększać okno za pomocą przycisków -/+ oraz włączać/wyłączać tekstury - T. Sprite'y - S.

Video:
https://www.youtube.com/watch?v=D8U481hG65Y

i

https://www.youtube.com/watch?v=Oou8xXLedV4

Post's attachments

doom-src.zip 505.51 kb, liczba pobrań: 1 (od 2026-07-30) 

doom.zip 861.6 kb, liczba pobrań: 9 (od 2026-07-30) 

Tylko zalogowani mogą pobierać załączniki.

2

genialne.

a da sie zrobic wersje bez vbxe?

http://atari.pl/hsc/ad.php?i=1.

3

bez vbxe + rapidus?

4

swoją drogą, przydałby się mały dodatek do FW Rapidusa - kanał DMA: RAM RAPISUSA->RAM Atari, który w tle (na życzenie) robiłby konwersję z chunky 8bit na format Atari - chunky 4/2/1 bit.
Dzięki temu 65816 mogłoby działać szybko w swoim szybkim RAMie, a DMA w tle przenosiłoby dane do wolnej pamięci grafiki

ATW800/2 / Atari V4sa / Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
SUB/AVGcart / FujiNet / DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

5

Ja optuję za dodatkową wersją na Atari tylko z Rapidusem/Antonią.

Bo: Atari z VBXE jest w mniejszym stopniu Atari niż Atari z Rapidusem. Czyli Rapidus + Antic i Gtia/Sophia. Może być w 2 czy 4 kolorach, byle chodziło. Z drugiej strony skoro da się zrobić na SubCarcie player do filmów na oldskullowe custom chipy i wizualnie wygląda to znośnie, to Doom też mógłby taki być (wolniejszy, ale kolorowy).

6 Ostatnio edytowany przez drac030 (2026-07-30 21:00:03)

laborant napisał/a:

Ja optuję za dodatkową wersją na Atari tylko z Rapidusem/Antonią.

Bo: Atari z VBXE jest w mniejszym stopniu Atari niż Atari z Rapidusem. Czyli Rapidus + Antic i Gtia/Sophia. Może być w 2 czy 4 kolorach, byle chodziło. Z drugiej strony skoro da się zrobić na SubCarcie player do filmów na oldskullowe custom chipy i wizualnie wygląda to znośnie, to Doom też mógłby taki być (wolniejszy, ale kolorowy).

Chłopie, ale, przebóg, zaprawdę, kto Ci broni? Siadasz i robisz.

KMK
? HEX$(6670358)

7

Ja jestem konsumentem dobroci programistycznej, liczę na w1k i Ciebie ;)

8 Ostatnio edytowany przez Jacques (2026-07-31 09:31:56)

@w1k
I wonder how it would work without textured walls/floor/ceiling, but with all the objects (lamps, barrels, ammo, guns) and enemies?
Would it allow to fit all the gameplay?

9

@Jacques in second video at 3:16

When i finish this (if i), i will try make non vbxe version.. But that is another project, code must be complete rewritten, everything.

10

Świetna wiadomość. Cieszę się, że spróbujesz, jeśli czas pozwoli. Jeśli się nie uda to i tak chylę czoła za wysiłek przy pozostałych tytułach na VBXE, które powalają.

11

oczywiscie ze bez tekstur a nawet jakby miala byc w trybie znakowym to i tak byla by rewelacja bez vbxe

http://atari.pl/hsc/ad.php?i=1.

12

Powoli zbliżam się do finalnej wersji. Gra będzie miała tylko jeden epizod, ze względu na prawa autorskie, myślę, że to sprawiedliwe.
Zaszła duża zmiana w kwestii tekstur. Nie są już one pobierane z dysku, a rysowane, więc zaoszczędzono 60% miejsca w pamięci VRAM.
Stworzę również konwerter WAD do gry - każdy WAD z mapami będzie można przekonwertować na grywalny plik ATR.

https://www.youtube.com/watch?v=U36H9e20UK8

13

w1k napisał/a:

Gra będzie miała tylko jeden epizod, ze względu na prawa autorskie, myślę, że to sprawiedliwe.

???

Atari 65XE + Ultimate 1MB + VBXE + Rapidus + Stereo + AVG Cart w/ SIO + FujiNet /// Atari 2600 jr. + Video Game Brain + Harmony Encore + Pluscart(+) + Synthcart

14

wow, wygląda to wybornie ;)

..wersja bez vbxe? czy ja wiem czy to ma sens?

Kontakt: pin@usdk.pl

15 Ostatnio edytowany przez w1k (2026-08-13 20:18:19)

Wersja 0.67:
-zwiększona liczba klatek na sekundę (FPS)
-naprawiono wiele błędów z mojej listy :)

Gra jest trochę szybsza, ale nadal polecam 20-40 MHz.

T - tekstury WŁ./WYŁ.
- / = - małe/większe okno

Gra wciąż nie jest ukończona, brakuje mapy, statystyk poziomów itp.

Wersja testowa w poszukiwaniu błędów :)

Post's attachments

doom_v0.67.zip 1.43 mb, liczba pobrań: 2 (od 2026-08-13) 

Tylko zalogowani mogą pobierać załączniki.

16

Dzięki. Przy braku tekstur działa o wiele szybciej oczywiście ale jednocześnie zaczyna wyświetlać sporo śmieciowych artefaktów.

PS. Czy kod wykorzystuje blitter VBXE do rysowania tekstur? Może mógłby?

Pamięć studenta ma charakter kwantowy - student wie wszystko, ale jednocześnie nic nie pamięta.
- Kilka(naście?) pudełek z klawiszami i światełkami. I jeden Vectrex, żeby nimi wszystkimi rządzić.

17

tak, blitter już rysuje ściany. każdy span idzie jako BCB w łańcuchu, który blitter wykonuje. CPU nie zapisuje pikseli ścian, liczy tylko geometrię runów.

18

AI - FPS  model 5.51   in-game F readout 1-6 (avg 3.50)   frame 181 ms   3485778 cyk   4182 BCB
     2026-08-14 09:56  12 frames E1M1, real boot + gameplay script

    ms/f      %     cyk/f  kto zerie fps                                 kde bezi
    52.1  28.7%   1041679  MAP_AMFDELTA                                   fast
    14.6   8.1%    292937  BSP seg -> screen projection                   fast
    12.0   6.6%    240200  24-bit divide (perspective) -- math.asm        fast
    11.5   6.3%    229389  painter: run screen-extent step                fast
    10.0   5.5%    200473  16x16->32 multiply (math.asm): transform/scale fast
     4.5   2.5%     89590  texture RUN painter: paint one wall column (pa fast
     4.5   2.5%     89137  MAP_AMSEG                                      fast
     3.8   2.1%     75067  textured wall: per-seg texel-rate setup        fast
     3.7   2.0%     73495  painter: span emit                             fast
     3.5   1.9%     70422  textured wall: per-column anchor math (tw_setu urom
     2.9   1.6%     57588  cm_save                                        fast
     2.7   1.5%     53166  wall span clip + emit (seg_draw.asm)           fast
     2.4   1.3%     47476  texture column source calc, wall               win1
     2.2   1.2%     44751  cu_anchor                                      fast
     2.2   1.2%     43385  cm_test                                        fast
     2.1   1.2%      3773  sprite blit submit                             WIN2 x11.2
     2.0   1.1%     39919  BSP bbox visibility test (R_CheckBBox)         urom
     1.9   1.0%     37581  shr_prod32                                     fast
     1.8   1.0%     36683  textured column clip + draw dispatch           win1
     1.8   1.0%     36158  fmul_cos                                       fast
     1.8   1.0%     35425  screenx_signed                                 fast
     1.7   0.9%     34271  fmul_sin                                       fast
     1.6   0.9%     31169  BSP bbox visibility corners (checkbbox.asm)    win1
     1.3   0.7%     26253  pt_step                                        fast

  data reads/frame 405,234: win2 4.2% = 8.6 ms -> hw 5.26 fps   (I/O 0.2 ms)
    $A600    5,846 reads/f   3.00 ms/f
    $A400    5,846 reads/f   3.00 ms/f
    $AA00      925 reads/f   0.48 ms/f
    $A900      925 reads/f   0.48 ms/f
    $8F00      925 reads/f   0.48 ms/f
    $8E00      925 reads/f   0.48 ms/f