[#361] Re: Dewelopment gry Sołtys

@Don_Adan, post #360

W Blitz Basic 2 i AmiBlitz 3 napisałem jej odpowiedniki, których kody również znajdują się tam na githubie. Miałem na myśli wersję w asm bo dla mnie to nowość i pierwsza gra napisana w czystym asm. Nawet użyłem tam blitowania od wyświetlania punktacji. Sam mnie tego nauczyłeś :)
[#362] Re: Dewelopment gry Sołtys

@Don_Adan, post #360

Nie wiem, czy dobrze to robię:


Adres początku ustawiam na $30000, ale muszę jeszcze podać adres końcowy.
[#363] Re: Dewelopment gry Sołtys

@tukinem, post #362

Źle.
Jeśli chcesz zapisać binary z wb to podajesz beg->Start (pierwsza etykieta) i end>endcode (ostatnia etykieta za rts, musisz sobie takową zrobić). Nie ma tutaj żadnego adresu typu $30000, bo kompilacja jest po adresem etykiety start. WB nie zapisuje tablicy relokacji.
Jeśli chcesz użyć adresu absolutnego to musisz użyć dyrektywy ORG (do poczytania). Możesz napisać taki kod, aby był relokowalny, a więc miedzy innymi używać lea pilka(pc),a0 zamiast lea pilka(pc). Wtedy taki kod może być używany pod dowolnym adresem bez zmian. Ostatnia możliwość to samodzielna relokacja.
2
[#364] Re: Dewelopment gry Sołtys

@tukinem, post #362

wb to jest zapis pamieci spod podanego adresu
jesli chcesz tak robic, to bodaj musisz alokowac chip a nie fast w AsmOne na poczatku
Po asemblacji uzyc
WO
write object.
Potem bodaj uzyc
RO
czyli Read Object .
I to wtedy powinno wczytac program do chipu.
I poda Ci adres, pod jaki wczytalo plik.
Wtedy mozez uzyc
WB, do zapisu jako plik binarny.
Tylko takie podejscie nie jest zbyt proste, szczegolnie jesli exek ma hunki.
Mozesz tez uzyc tego co napisal Cholok.
Ja preferowalem uzycie packera do tego.
Czyli robisz WO.
A potem taki zapisany plik traktujesz pakerem (absolutny).
[#365] Re: Dewelopment gry Sołtys

@cholok, post #363

Rozmiar pliku wyszedł mi tylko 158 bajtów.

Dla BEG podałem Start, a EndCode mam umieszczony zaraz na początku po pierwszym RTS w Mainloop, który wychodzi z programu, więc pewnie źle. Domyślam się, że nie ma tu reszty kodu z dalszych etykiet, do których skaczę przez BSR, JSR i BRA/JMP nie wspominając już o danych copperlisty, bitplanu, palety, sprajtów i shapów, czy deklarowanych zmiennych użytych w gierce.
[#366] Re: Dewelopment gry Sołtys

@tukinem, post #365

EndCode to na koncu zrodel daj. Jak tak robisz.
Albo uzyj WO.
Zapisz jako exek, sprawdz czy dziala z CLI.
A potem sie baw.
[#367] Re: Dewelopment gry Sołtys

@Don_Adan, post #366

Tutaj Start
--------------------------------------------------------------
Start:
bsr OsStore
.....

Pilka: dc.l 0
dc.w %0000001111000000,$0
dc.w %0000111111110000,$0
dc.w %0001111111111000,$0
dc.w %0011111111111100,$0
dc.w %0111111111111110,$0
dc.w %0111111111111110,$0
dc.w %1111111111111101,$0
dc.w %1111111111111111,$0
dc.w %1111111111111101,$0
dc.w %1111111111111011,$0
dc.w %0111111111111100,$0
dc.w %0111111111111010,$0
dc.w %0011111111110100,$0
dc.w %0001111110101000,$0
dc.w %0000110101010000,$0
dc.w %0000001010000000,$0
dc.l 0

A Tutaj End

To ma byc caly program.
[#368] Re: Dewelopment gry Sołtys

@Don_Adan, post #367

Niestety:


Pytałeś, czy działa z CLI po kompilacji przez WO. Wtedy działa zarówno z CLI, jak i odziwo po uruchomieniu z ikonki workbencha (czego na kodach z BB2 nie da się zrobić bez komendy WBStartup)

jesli chcesz tak robic, to bodaj musisz alokowac chip a nie fast w AsmOne na poczatku
Po asemblacji uzyc
WO
write object.
Potem bodaj uzyc
RO
czyli Read Object .
I to wtedy powinno wczytac program do chipu.
I poda Ci adres, pod jaki wczytalo plik.
Wtedy mozez uzyc
WB, do zapisu jako plik binarny.
Tylko takie podejscie nie jest zbyt proste, szczegolnie jesli exek ma hunki.
Mozesz tez uzyc tego co napisal Cholok.
Ja preferowalem uzycie packera do tego.
Czyli robisz WO.
A potem taki zapisany plik traktujesz pakerem (absolutny).


W takim razie Section DATA_C mam wstawić na początku kodu jeszcze przed etykietą Start albo zaraz po niej? Tak to rozumiem.

Ostatnia aktualizacja: 19.01.2025 12:00:32 przez tukinem
[#369] Re: Dewelopment gry Sołtys

@tukinem, post #368

To zle etykiety wstawiles, albo nazwy sie powtarzaja.
Mozesz nazwy etykiet zmienic na inne.
Ewentualnie problem jest w tym, ze to inna sekcja jest.
Daj tylko pierwsza sekcje:

Section Poing,CODE_C

Druga odznacz

; Section CHIPRAM,DATA_C
[#370] Re: Dewelopment gry Sołtys

@tukinem, post #368

I dlatego proponowalem, uzyc packera.
Packer sam wszystko konwertuje na plik binarny absolutny.
Laczy wszystkie hunki w 1.
[#371] Re: Dewelopment gry Sołtys

@Don_Adan, post #370

Zrobiłem depackerem. Spakowany plik uruchomił się. Po rozpakowaniu rozmiar pliku absoultnego i zwykłego jest identyczny. Oba się uruchamiają i działają tak samo.
[#372] Re: Dewelopment gry Sołtys

@tukinem, post #371

To chcesz osiągnąć ?
ADF
[#373] Re: Dewelopment gry Sołtys

@tukinem, post #371

To nie tak zrobiles.
Spakowales jako zwykly exek.
Exek absolutny po rozpakowaniu sie nie uruchomi z CLI.
Musi byc jako plik ladowany pod absolutny (czyli konkretny) adres.

Tutaj masz podobny watek.

link

A tutaj rozwiazanie, jakie mozesz uzyc.

link

Jesli pakowanie absolutne, jest za trudne.
[#374] Re: Dewelopment gry Sołtys

@Blady, post #372

Tu masz bootloader od Photona Bootloader
Ładujesz go do bootblocka, a0=adres pamięci, gdzie ma być załadowany program, $30000 jak pisał DonAdan. d0=blok startowy może być 2 zaraz za bootblockiem tam musisz zapisać swoją binarkę (ws w asmone). d1=ilość blocków do odczytu, twój program ma około 14kb, czyli 28 bloków starczy.

Ostatnia aktualizacja: 19.01.2025 20:22:21 przez Blady

Ostatnia aktualizacja: 19.01.2025 20:23:23 przez Blady
[#375] Re: Dewelopment gry Sołtys

@Don_Adan, post #373

Skompilowałem normalnie przez WO do pliku .exe.

Następnie tak to spakowałem:

wybierając SAVE.

Następnie uruchomiłem i działało. Rozpakowałem go przez XFDDecrunch i wyszedł mi ponownie ten sam plik.

@Blady: dzięki za bootloader. Właśnie o taki ADF mi chodziło. A gdybym chciał doczytywać dane z tej dyskietki, to mogę się posłużyć tym trackloaderem? Wygląda bardzo podobnie do tej procedury odczytu z dyskietki, która jest podana w książce Doligalskiego. Inne rejestry są użyte na pewno z tego co rzuciłem okiem, no i jest demonstracyjny kod, który mógłbym sobie pominąć do kompilacji gdybym chciał mieć taki podręczny loader danych.
[#376] Re: Dewelopment gry Sołtys

@tukinem, post #375

Możesz, dostosujesz go sobie pod własne potrzeby.Co do ksiegi Doligalskiego to było tam pare błedów z tego co pamiętam, mam ja gdzieś schowaną wraz z innymi.

Ostatnia aktualizacja: 19.01.2025 21:49:52 przez Blady
[#377] Re: Dewelopment gry Sołtys

@tukinem, post #375

Chyba musisz na Filetype kiknac, i zmienic tam z Absolute na exe//object, czy jakis taki.
Bo zrodlowym plikiem jest plik exe/object a nie plik Absolute.
O ile dobrze pamietam.
To tam sie wlasnie klikalo
[#378] Re: Dewelopment gry Sołtys

@mailman, post #1

Mam komplet plików zarówno do pełnej wersji gry, jak i do dema. Obie wersje są gotowe.

Przygotowywałem dzisiaj od 6 rano instalatory i się poddaję zupełnie. Oba instalatory (demo i pełna wersja) stworzyłem na plikach o rozmiarach 512 kB po rozpakowaniu, aby sama instalacja nie wymagała więcej, niż sama gra. Zainstalowałem obie wersje gry na koszernym ustawieniu A1200 + 1MB Fast RAM z Workbenchem 3.1. Poszło długo, ale gładko (5 dyskietek pełna wersja i 3 dyskietki demo).

Próba instalacji na żywej A1200 z 8 MB fast RAM i Workbenchem 3.2: klapa kompletna. Obie instalacje skopiowały pliki LZMA, wypakowały, a następnie zdechło przy próbie łączenia Joinerem. Próbowałem nawet instalować na DH0: ale niestety padła mi karta SD w Amidze i system musiałem od nowa kopiować z PC.

Próbuję teraz według tego kursu LhA spakować do multivolume. Niestety bezskutecznie. Zarówno LhA w wersji 2.1, jak i w wersji 1.5r (oczywiście wersja z kluczem) się wysypuje. Pakuje ładnie na 6 archiwów, po czym przy próbie rozpakowania wyskakuje mi error:


Próbowałem pakować zarówno przez -V860, jak i przez -Va. Próbowałem używać parametrów -r -e -x, jak również -r -e a. Każda próba rozpakowania multivolume kończy się błędem. Natomiast całą grę spakowałem wszystkimi tymi wersjami LhA do jednoplikowego archiwum i z wtedy nie ma żadnych problemów z wypakowywaniem.

Ktoś ma jakieś pomysły, jak to spakować sensownie samym LhA? To tylko 6 dyskietek wychodzi.
[#379] Re: Dewelopment gry Sołtys

@tukinem, post #378

Pokaz caly skrypt instalujacy dla wersji demo.
Zrob dira kazdej dyskietki dema.

Sprobuj skopiowac Joiner z WB 3.1 na dyskietke Soltysa i wywolac Joiner z dyskietki, a nie z systemu.
Byc moze Joiner z WB 3.2 jest walniety.

Mozesz zrobic tez filmik jak instalujesz, ale tak zeby belka z dostepna iloscia pamieci, byla widoczna.
[#380] Re: Dewelopment gry Sołtys

@Don_Adan, post #379

Moim zdaniem wina to karta SD w Amidze.

Używałem tego samego Joinera z dyskietki. On wiele nie zajmuje, więc używam jednej wersji, którą skopiowałem do dyskietki nr 1.

Podczas instalacji na WinUAE mam dostępne ciągle minimum 800 kB fast RAM (z 1 MB, które ustawiłem) plus trochę chip RAMu. Na A1200 z 8MB fast RAM mam dostępne grubo ponad 3 MB. Oczywiście na WinUAE na OS 3.2 instaluje się bez problemu, więc różnice pomiędzy tymi środowiskami są następujące:
- WinUAE ma dyskopartycję (katalog z Windows dodany jako partycja), natomiast Amiga ma PFS3
- Amiga działa na karcie SD, kiedyś już miałem podobne problemy, mimo że mam ustawione prawidłowo w HD Tool Box 0x1FE00 w ustawieniach partycji PFS3

Skrypt jest prawidłowy, skoro działa na emulatorze. Z resztą napisałem go inaczej dla samego LhA i Joinera.

To jest skrypt instalacji pełnej wersji z 6 dyskietek:
(set #LHA "SOLTYS1:C/LhA x ")
(set #JOIN "SOLTYS1:C/JOIN")

(set #lang
  (askchoice
    (prompt "")
    (help "")
    (choices
    "POLSKI"
    "ENGLISH"
    )
  )
)

(if (= #lang 0)
  (
    (set #witaj "Witam w pakiecie instalacyjnym gry SOŁTYS")
    (set #credits1 "Ten skrypt instalacyjny używa xfdmaster.library. \n Pełny pakiet dostępny pod adresem: \n aminet.net/package/util/pack/xfdmaster \n www.dstoecker.eu. \n\n PackFire stworzony przez hitchhikr/Neural. \n\n Wsparcie w obsłudze Intallera: DonAdan, Krashan, Mailman. \n\n Pełna wersja gry będzie dostępna w maju 2025 pod adresem: \n www.retronics.eu")
    (set #pytanie "Wybierz, gdzie umieścić katalog z grą SOŁTYS")
    (set #zakoncz "SOŁTYS został pomyślnie zainstalowany na twardym dysku")
    (set #unlzma "Rozpakowuje plik LZMA ")
    (set #unlha "Rozpakowuje plik LHA")
    (set #joining "Łączę pliki")
  )
  (
    (set #witaj "Welcome to the installation package of the game SOŁTYS")
    (set #credits1 "This install script uses xfdmaster.library. \n Full package avaible at: \n aminet.net/package/util/pack/xfdmaster \n www.dstoecker.eu. \n\n PackFire by hitchhikr/Neural. \n\n Installer support: DonAdan, Krashan, Mailman. \n\n Full version of game will be avaible in May 2025 from \n www.retronics.eu")
    (set #pytanie "Choose where to put the folder with the game SOŁTYS")
    (Set #zakoncz "SOŁTYS has been successfully installed on the hard drive")
    (set #unlzma "I unpack the file LZMA ")
    (set #unlha "I unpack the file LHA")
    (set #joining "I am joining the files")
  )
)



(welcome #witaj)
(message #credits1)


(set #dest (askdir (prompt #pytanie) (help) (default "SYS:") ) )

(copyfiles (source "SOLTYS1:soltys.lha.06") (dest #DEST) )
(complete 10)

(askdisk (prompt "DISK 2")(help "")(dest"SOLTYS2") )
(copyfiles (source "SOLTYS2:") (dest #DEST) (all) )
(complete 20)

(askdisk (prompt "DISK 3") (help "") (dest "SOLTYS3") )
(copyfiles (source "SOLTYS3:") (dest #DEST) (all) )
(complete 30)

(askdisk (prompt "DISK 4") (help "") (dest "SOLTYS4") )
(copyfiles (source "SOLTYS4:") (dest #DEST) (all) )
(complete 40)

(askdisk (prompt "DISK 5") (help "") (dest "SOLTYS5") )
(copyfiles (source "SOLTYS5:") (dest #DEST) (all) )
(complete 50)

(askdisk (prompt "DISK 6") (help "") (dest "SOLTYS6") )
(copyfiles (source "SOLTYS6:") (dest #DEST) (all) )
(complete 60)

(askdisk (prompt "DISK 1") (help "") (dest "SOLTYS1") )

(set #FILE1 (tackon #DEST "soltys.lha.01"))
(set #FILE2 (tackon #DEST "soltys.lha.02"))
(set #FILE3 (tackon #DEST "soltys.lha.03"))
(set #FILE4 (tackon #DEST "soltys.lha.04"))
(set #FILE5 (tackon #DEST "soltys.lha.05"))
(set #FILE6 (tackon #DEST "soltys.lha.06"))


(working #joining)
(set #AFTERJOIN (tackon #DEST "soltys.lha"))
(run  #JOIN #FILE1 #FILE2 #FILE3 #FILE4 #FILE5 #FILE6 "AS" #AFTERJOIN)
(delete #FILE1)
(delete #FILE2)
(delete #FILE3)
(delete #FILE4)
(delete #FILE5)
(delete #FILE6)
(complete 70)

(working #unlha)
(set #LHA (cat #LHA #AFTERJOIN " " #DEST "/"))
(run #LHA)
(complete 95)

(delete #AFTERJOIN)


(complete 100)

(exit #zakoncz (quiet))


Ostatnia aktualizacja: 25.02.2025 09:18:02 przez tukinem
1
[#381] Re: Dewelopment gry Sołtys

@tukinem, post #380

Udało mi się zainstalować, ale w jednym wariancie są problemy z rozpakowaniem LHA, a mianowicie mam w A1200 partycję GRYAGA: i gdy instaluję na tej partycji komenda rozpakowująca LHA dodaje na końcu znak "/" aby rozpakować do katalogu
(working #unlha)
(set #LHA (cat #LHA #AFTERJOIN " " #DEST "/"))
(run #LHA)

Niestety w przypadku instalacji na GRYAGA: katalog docelowy wyjdzie wtedy "GRYAGA:/" co jest błędnym zapisem, natomiast gdy instalowałem do katalogu GRYAGA:SOLTYS ścieżkę docelową stworzył jako "GRYAGA:SOLTYS/" co już jest prawidłowe.
[#382] Re: Dewelopment gry Sołtys

@tukinem, post #381

Wymuś instalację w założonym automatycznie katalogu SOLTYS i po problemie. Instalowanie czegokolwiek w katalogu głównym partycji jest niepoprawne.
[#383] Re: Dewelopment gry Sołtys

@tukinem, post #381

Kombinujesz, za bardzo.
Pierwsze pytanie w Instalatorze to jest prawie zawsze.
"Wybierz miejsce gdzie ma byc zalozony katalog z gra xxxx"
Czyli jak zalozysz katalog "Soltys" lub "Soltys demo" to zawsze bedzie potrzebny "/" (slash).
Wiec nigdy nie bedzie czegos takiego jak Gry:/

Ostatnia aktualizacja: 25.02.2025 14:02:49 przez Don_Adan
[#384] Re: Dewelopment gry Sołtys

@Don_Adan, post #383

No i to jest raczej nieprawidlowe:

(set #dest (askdir (prompt #pytanie) (help) (default "SYS:") ) )
Bo bedzie instalowalo w SYS:
a nie w SYS:Soltys
tak mi sie przynajmniej wydaje.

Ale ja zawsze tylko przerabialem inne skrypty instalacyjne, swoich nie pisalem.
Pewnie Krashan wie lepiej.

Ostatnia aktualizacja: 25.02.2025 14:09:47 przez Don_Adan
[#385] Re: Dewelopment gry Sołtys

@Don_Adan, post #383

Nie zakładam katalogu SOLTYS bo on jest w archiwum lha razem z ikoną tego katalogu.
[#386] Re: Dewelopment gry Sołtys

@tukinem, post #385

To raczej zle robisz, ale to Twoj wybor.
[#387] Re: Dewelopment gry Sołtys

@Don_Adan, post #386

Dziwne że emulator sobie z tym radzi, a Amiga nie.

Czyli reasumując powinienem ręcznie tworzyć podkatalog SOLTYS, ręcznie skopiować ikonkę tego katalogu, a w spakowanych plikach mieć wszystko bezpośrednio. I wtedy takie archiwum skopiować do tego katalogu SOLTYS, który ręcznie tworzę i do niego wypakować dane... spróbuję tak zrobić.
[#388] Re: Dewelopment gry Sołtys

@tukinem, post #387

Nie wiem czy emulator sobie z tym radzi czy to bug w emulatorze jest. Albo bug w kicku 3.2
Niektore programy oczekuja, zeby sciezka konczyla sie "/" slashem lub ":" bodaj Filemaster 2.2 tak ma.
Dopus 4 radzi sobie z tym dodajac "/" slasha do kazdej sciezki.
Ogolnie Instalator tworzy katalog z ikona, o ile dobrze pamietam.
Wiec nie musisz recznie kopiowac ikonki katalogu.
Chyba, ze chcesz po prostu jakas wlasna (wyrozniajaca sie) ikonke dla katalogu Soltys uzyc.
Zrob prosty skrypt, ktory tylko tworzy tylko sam katalog to sam zobaczysz.
Czy warto ikonke jeszcze kopiowac, czy ta systemowa jest OK.
[#389] Re: Dewelopment gry Sołtys

@Don_Adan, post #388

Ewentualnie mozesz uzyc Splitera do dzielenia archiwow na pliki, tam sa przewidziane obie sciezki.
Zarowno konczaca sie ukosnikiem jak i dwukropkiem.
Zakladajac, ze tamten kod jest ok.

link
[#390] Re: Dewelopment gry Sołtys

@Don_Adan, post #388

Na pewno to nie bug systemowy.

Pisałem, że instalowałem na emulatorze na OS 3.2.2 do katalogu SYS: i zainstalował poprawnie. Na A1200 nie wypakował. Natomiast Workbencha 3.1 nie mam w Amidze, tylko w emulatorze. Tam zainstalował bez problemu. Zrobię tak, że zawartość katalogu z grą umieszczę w archiwum, a nie cały katalog + plik .info i zobaczymy. Ale to znowu potrzebuję kilku dni na sprawdzenie i testy, bo z czasem krucho.
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