kategoria: Blitz
[#1] Gra NDOS w Blitzu
Przeniesione
1
[#2] Re: Nowe gry
A mnie do dzisiaj ciekawi jak stworzyć grę w NDOSie i czy z poziomu Blitz Basic to byłoby możliwe.
[#3] Re: Nowe gry

@tukinem, post #2

Jeśli w blitz da się lecieć po rejestrach to tak, jesli da się użyć trackdisk.device to też. Tylko w dzisiejszych czasach po co ?

Ostatnia aktualizacja: 13.12.2024 21:10:31 przez Blady
[#4] Re: Nowe gry

@Blady, post #3

To nie do konca tak. Tu raczej chodzi o obsluge pamieci.
W NDOS-ie nie masz alokacji i zwalniania pamieci.
A tego zdaje sie uzywaja procedury BB2.
[#5] Re: Nowe gry

@tukinem, post #2

O ile mnie pamiec nie myli to Skidmarks jest zdaje NDOS i jest napisany w BB.
Wiec chyba sie kiedys dalo.
Ogolnie jezeli mozesz wywolywac funkcje BB bez alokowania i zwalniania pamieci to powinno sie dac.

Edycja, tzn. tylko podajac obszar pamieci jako parametr.

Ostatnia aktualizacja: 13.12.2024 21:21:58 przez Don_Adan
[#6] Re: Nowe gry

@tukinem, post #2

tukinem czy w blitz da się załadować plik obojetnie jaki grafika, dzięk , exec, pod dowolny adres w pamięci ?

Aj teraz tak myślę, chyba sobie strzeliłem w kolano, musiał byś praktycznie przejąć kontrole nad pamiecią w blitzbasic, tak jak w asm że pamiętasz co pod jakim adresem umieszczasz.


Ostatnia aktualizacja: 13.12.2024 21:37:51 przez Blady
[#7] Re: Nowe gry

@Don_Adan, post #4

Może odczytywać dyskietkę po ścieżkach i używać allocmem (nie wiem jaki odpowiednik w Blitz) , o ile mnie pamięć nie myli ja sie bawiłem AsmOne w 96 roku

SkidMarks był napisany w BB ale o ile też pamiętam tam było dużo wstawek asm bo Blitz na to pozwala.

Ostatnia aktualizacja: 13.12.2024 22:02:11 przez Blady
[#8] Re: Nowe gry

@Blady, post #6

To raczej nadaje się na osobny wątek.

Można sobie załadować w taki sposób, że dodajemy zewnętrzne pliki do pliku exe poprzez IncBin. W trakcie działania programu nie mogę odczytywać plików poprzez BLoad, ponieważ on czyta pliki DOSowe.

Biblioteka trackdisk.library napisana dla BB2, o której DonAdan kiedyś wspomniał używa AmigaDOSu z tego co przeczytałem o niej. Poza tym Earok chyba jeszcze nie skończył jej pisać. No chyba że ręcznie sobie napiszę odczyt z dyskietki asemblerem kolejno pisząc mozolnie każdy ruch silniczkiem krokowym itd. Ale to zbyt skomplikowane.

Plik exe po kompilacji jest DOSowy. Gra mogła być napisana w BB2, jednak cały bootblock i uruchamianie gry z jej exe w NDOSie już raczej w ASMOne czy Masterseka. Tak rozumuję, że exe siedział w określonych sektorach dyskietki, a bootblock ładował go po sektorach i uruchamiał w podobny sposób, jak uruchamia go system poprzez startup-sequence.
1
[#9] Re: Nowe gry

@Don_Adan, post #5

to Skidmarks jest zdaje NDOS i jest napisany w BB


po co powielac po raz setny ta sama plotke. Kiedys juz ktos to wyjasnial, ze Skidmarks jest napisany w asemblerze a Blitz tam zostal uzyty do wyswietlania menu gry. Po prostu to bylo zbyt piekne, zeby moglo byc prawdziwe ok, racja
[#10] Re: Nowe gry

@selur, post #9

Skidmarks jest napisany w asemblerze a Blitz tam zostal uzyty do wyswietlania menu gry.


Jeśli cała gra została napisana w assemblerze, to po co ktoś zadał sobie trud tworzenia menu specjalnie w BB?

Bez sensu, co nie?
[#11] Re: Nowe gry

@karolb, post #10

dlaczego niby bez sensu ?
Menu zostalo napisane 10 razy szybciej niz w asemblerze wiec zaoszczedzili czasu na glupoty co nie miara.
Ale glownie chodzilo o marketing, zeby ktos zobaczyl ta gre i kupil BB. W tamtych czasach trudno bylo o lepsza reklame, zreszta sam selur jak to zobaczyl, to wrzasnal "To jest w BlitzBasicu ? Łoooooooo...!!!!" i popuscil z wrazenia.
[#12] Re: Nowe gry

@selur, post #9

link

Ewidentnie masz napisane Blitz Basic.
Nie mam tego jak teraz sprawdzic, wiec nie bede sie upieral.
Ale jak teraz Tukinem pisze gry?
BB2 czy BB2 z ASM?
BB2 ma mozliwosc uzywania wstawek ASM.
Tak samo C ma taka mozliwosc.
AMOS tez ma taka mozliwosc.
Liczy sie kompilator jaki zostal uzyty a nie ile % gry jest w czym napisane.
Jesli Skidmarks byl skompilowany pod BB to jest to BB.
Po prostu niektore rzeczy sie latwiej/szybciej tworzy w BB2, AMOS-ie, C niz w ASM.
1
[#13] Re: Nowe gry

@Don_Adan, post #12

przeciez Skidmarks, to gra ktorej 90% zostala napisana w asemblerze a dla reklamy wrzucono ja w BlitzBasica, ktory wyswietla tam opcje i panele.
Golym okiem widac, ze gra nie jest stworzona w Blitzie skoro dziala plynnie na A500. A to, ze jest napisane, ze to BlitzBAsic, no coz.... reklama dzwignia handlu.

akurat, ze dzialam z Tukinemem, to wiem, jak wygladaja wstawki.
Cala robote odwala BlitzBasic a Tukinem wrzuca tam swoje wstawki przeliczajace/odczytujace dane zeby przyspieszyc dzialanie calego programu ale to nie ma zadnego porownania do tego, gdzie wiekszosc kodu jest w asemblerze.
[#14] Re: Nowe gry

@selur, post #13

Golym okiem, to nic nie widac.
Tak samo jak nie widac, ze demo gry Rastan to Scorpion Engine.
A Turrican 2 AGA to GCC.
BB2 to tez jest ASM tylko w slabszym wykonaniu.
A wstawki asemblerowe tez sa prawie wszedzie.
Chocby playery do Protrackera, TFMX Pro i TFMX 7V to czysty asembler.

A co do gier to taka Foundation w calosci byla napisana w BB2.

link

Wiec w BB2 jest MOC.
Odkryj MOC i napisz strategie na Amige.
1
[#15] Re: Nowe gry

@Don_Adan, post #14

Blitz Basic przerabia wszystko na ASM podczas kompilacji. Jego wszystkie biblioteki są napisane w czystym ASM. Nie wiem, jak pisać tu własne biblioteki aby je dodać do edytora i kompilatora, ale same biblioteki są napisane w ASM bo mam źródła z Ami Blitz. Oprócz tych najnowszych w AB3 sporo jest przeniesionych do BB2 w wersji Ultimate.

Może właśnie tą grę napisali w BB2 aby uniknąć problemów z tworzeniem copperlist, bitplanów, obsługi blittera czy tych wszystkich rejestrów przerwań czy DMA? Powiedzmy, że Amos to samochód z automatyczną skrzynią biegów, a Blitz Basic 2 to również automat, ale z manetkami do ręcznej zmiany biegów ASMOne to każdy sobie odpowie, jakim jest odpowiednikiem.

Dodawanie gazu i hamowanie działa podobnie, ale jednak trzeba zmieniać biegi i czasem wciskać sprzęgło Tutaj w tym sprzęgle umieściłbym wszelkie trudności, które basic robi za nas. DMA, INTENA, INTREQ, funkcje rysujące, odtwarzanie muzyki/dźwięku, obsługa joya/myszy/klawiatur itd.

Suma sumarum... Blitz basic jest tak szybki jak napisane w nim biblioteki których użyjemy. Wiadomo, że uniwersalne biblioteki będą wolniejsze niż napisanie własnych funkcji rysujących ręcznie w ASM. Wymagania gier pisanych w BB? Moje są wymagające, bo piszę niedbale, a plik exe rośnie wtedy nieubłagalnie. Zwracam uwagę by było płynnie i grywalnie, nie zważając przy tym na wygląd kodu.
1
[#16] Re: Nowe gry

@tukinem, post #15

To moze ta biblioteka, Ci sie przyda.
O ile projekt zostanie ukonczony.

link

Tutaj cos do sciagniecia:

link

No, i sorry za OT.

Ostatnia aktualizacja: 14.12.2024 18:19:30 przez Don_Adan

Ostatnia aktualizacja: 14.12.2024 18:21:40 przez Don_Adan
[#17] Re: Nowe gry

@selur, post #13

Golym okiem widac, ze gra nie jest stworzona w Blitzie skoro dziala plynnie na A500

plansza gry to jedna bitmapa. scrollowanie tego to mniej więcej 0.0% czasu procesora. tzn jest to prawie bezkosztowe, ale to zapewne wiesz.
blitowanie 4 samochodów z czego conajmniej jeden z nich może być na sprajtach, to też nie jest wielki wyczyn.
nie ma tutaj nic co byłoby nie do zrobienia w BB co ramkę.

BB (albo np C) używa się z tego powodu, że dużo łatwiej jest obsłużyć np. m.in ładowanie danych w tym grafiki, obsługę palet, zapisanie "maszyny stanowej" dla gry, itp, itd... nie wymaga to superszybkich procedur mieszczących się w ramce, a dobrze jak są to łatwe do oprogramowania rzeczy z poziomu kodu całej gry. po to używa się BB.

dodam jeszcze, że w kilku małych produkcjach, które robiłem w BB w assemblerze miałem zrobione w całości głównie packer/depacker, dodawałem go do kodu jako objekt .o skompilowany wcześniej vasmem.

używałem też chunky to planar, czasami jakieś sprawdzanie kolizji na zasadzie nakładających się obszarów, który musiały być wykonywane wiele razy w ramce. BB to jest normalny język programowania z łatwą składnią i dużymi możliwościami rozbudowywania jego możliwości - Jak się wie co się robi i wie o czym mówi Panie SeLur.
[#18] Re: Nowe gry

@Don_Adan, post #16

Tak jak pisałem. Ktoś "ręcznie" napisał sobie funkcje dla blittera specjalnie pod ten program i dojechał do granic możliwości własnego kodu. Nie twierdzę, że funkcje rysujące w Blitz Basic są mało wydajne. Są po prostu uniwersalnie napisane. Ja takich bobików wstawiłbym może maksymalnie z 6 :) dlatego unikam używania BBlit jak tylko mogę wszelkimi możliwymi sposobami.

PS. Zauważ ile zajmuje plik uruchamialny. Mimo, że nie użyto tutaj wbudowanych bibliotek, to i tak one zostały dołączone do kodu gry, bo wątpię, żeby grafiki bobów i grafika tła tyle zajmowały miejsca.
[#19] Re: Nowe gry

@c64portal, post #17

nie sadze, zeby ktos zrobil cos takiego w czystym Blitzie ale oczywiscie mozesz twierdzic ze jest inaczej.
Masz do tego prawo w koncu mamy tu wolnosc slowa ok, racja
[#20] Re: Nowe gry

@Don_Adan, post #14

o dobry przyklad.. sam jestem ciekaw jak Foundation zostalo dokladnie napisane i tez uwazam, ze nie jest to czysty Blitz. Za duzo dzieje sie na ekranie, nawet w lowresie.
[#21] Re: Nowe gry

@tukinem, post #18

Patrzac po rozmiarach spakowanego lha i rozpakowanego exeka.
To sa to po prostu bufory, albo powtarzajace sie dane graficzne.
Czyste zera bardzo dobrze sie pakuja.
Kod ASM sie tak dobrze nie pakuje.
Tu masz kompresje okolo 9:1.
Na razie to jest wersja demo, wiec niewazne, czy kod jest dolaczony do programu, czy jako zewnetrzna biblioteka wywolywany.
[#22] Re: Nowe gry

@selur, post #20

To chyba nie czytales tego:

"That, and indeed the whole of Foundation was written in Blitz Basic 2.1."
[#23] Re: Nowe gry

@Don_Adan, post #22

no ale to znowu wypowiada sie jakas osoba tylko, ze nie autor gry.
[#24] Re: Nowe gry

@selur, post #23

Ja tam angielskiego nie znam:

DanielAllsopp
"Not much to say that hasn't already been said, but I worked on the FoundationPrefs setup program with Paul back in the day."

link


Paul Burkey
Lead programmer
Andrew King (Oondy)
Compression
Julian Kinraid
Additional programming
Daniel Allsopp
Additional programming
[#25] Re: Nowe gry

@Don_Adan, post #24

Można sobie pisać w TEDzie cały kod asemblerem. Trzy ważne sprawy:
1 - WBStartup pozwala na uruchomienie programu z ikonki przez dwuklik
2 - brak hunków do chip ramu. Trzeba sobie ręcznie zaalokować pamięć w chip ramie i przenieść dane.
3 - aby skopiować dane możemy użyć systemowej funkcji, a nie wbudowanej w BB: CopyMemQuick_ lub CopyMem_.
[#26] Re: Gra NDOS w Blitzu

@mailman, post #1

Jest coś takiego jak „zbrodnia przeciwko ludzkości”. Dla mnie tworzenie NDOSów to jest „zbrodnia przeciwko Amidze”. To jest oplucie idei Amigi i zniweczenie pracy jej twórców. Nawet nie chce wiedzieć jak coś takiego się robi.

MS-DOS, amigowy NDOS i magnetofon do komputera mogłyby zostać zapomniane i wymazane z historii informatyki.

Ostatnia aktualizacja: 15.12.2024 12:49:32 przez MDW
3
[#27] Re: Gra NDOS w Blitzu

@MDW, post #26

Bez NDOS-ow to chyba nie mialbys z 90% dobrych dem na A500.
NDOS po prostu daje wiecej koderowi, niz DOS.
Masz wiecej miejsca na dyskietce oraz cala pamiec Amigi jest dostepna.

W przypadku gier, to masz jeszcze do 200KB wiecej miejsca na dyskietce, jesli uzywane sa longtracki.
Czyli oszczednosc w produkcji gry, bo mniej dyskietek potrzeba.
Do tego NDOS w formie MFM i longtrackow stanowi samo w sobie zabezpieczenie przed latwym kopiowaniem.
1
[#28] Re: Gra NDOS w Blitzu

@MDW, post #26

Dodałbym jeszcze do tego BASIC.
1
[#29] Re: Gra NDOS w Blitzu

@Don_Adan, post #27

Bez NDOS-ow to chyba nie mialbys z 90% dobrych dem na A500.

Jestem gotowy na takie poświęcenie.
1
[#30] Re: Gra NDOS w Blitzu

@MDW, post #26

Nie rozumiem, co takiego złego jest w NDOSie. Jeśli jesteś ciekaw, to Ci mogę wytłumaczyć, dlaczego mnie to interesuje.

MS-DOS, amigowy NDOS i magnetofon do komputera mogłyby zostać zapomniane i wymazane z historii informatyki.

skoro NDOS (niesystemowy) jest zły, to dlaczego MS-DOS, który jest systemowy również jest zły? Bo to z blaszaka? Szczerze wolę MS-DOS niż Linuks czy nowoczesny Android które są dzisiaj wszędzie ładowane.
1
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem