kategoria: Asembler
[#1] Unknown Hunk?
Witam
Podczas pakowania Titanicsem dostaję taki komunikat na koniec:
File has unknown hunk. The code is $000000000
plik niespakowany uruchamia się bez problemu.
w kodzie mam takie sekcje:
SECTION MainCode,CODE
SECTION "Chip Data",DATA_C
SECTION "Chip Buffers",BSS_C
SECTION "FastMem Data",DATA_f

assembluję VASMem
co może być problemem? Bo kurde po-google-owałem ale nic nie znalazłem.
[#2] Re: Unknown Hunk?

@retronav, post #1

Zrobiłem mały testowy programik, który zawiera te 4 sekcje i skompilowałem pod asm-one, potem spakowałem Titanicsem 1.2 i się spakowało, fakt że rozmiar był większy.

A możesz powiedzieć czemu używasz hunku data_f ? Userzy którzy nie mają pamięci typu fast nie uruchomią twojej gry/dema.
[#3] Re: Unknown Hunk?

@asman, post #2

co do DATA_F to racja. zostało przez nieuwagę.
ale ciekawostka samo DATA powoduje że komunikat wygląda
The code is $00000001
???
[#4] Re: Unknown Hunk?

@retronav, post #3

Nie wiem jak kompilujesz za pomocą vasma, ale dowal takiego parametra to Ci wywali wszystkie symbole z outputu. Czyli: vasm -Fhunkexe -nosym wygrywajace_demo.s.
Powinno wtedy pójść.
[#5] Re: Unknown Hunk?

@retronav, post #1

Strzelam. Kompilator generuje hunki (relokacji) dostępne na wyższe kickstarty, bo Titanics jest bardzo stary niestety.
[#6] Re: Unknown Hunk?

@cholok, post #5

chyba nie ma czegos takiego :)

a hunk = 1 = MEMF_PUBLIC = 1 :)

ps: domyslny typ pamieci to public dlatego winno byc data_p = data

Ostatnia aktualizacja: 19.12.2016 20:52:50 przez juen
[#7] Re: Unknown Hunk?

@juen, post #6

Wiesz, jest taka opcja -kick1hunks i taki hunk reloc32short.
[#8] Re: Unknown Hunk?

@asman, post #4

Tak żeby było jasne, a mi się nie chciało wcześniej więcej pisać, bo siedze i pisze co innego :)
Sprawdziłem i kompilowałem pod vasmen a potem używałem Titanics1.2 i problem był ten sam. Po wystripowaniu symboli poszło. Wychodzi na to że Titanics1.2 nie radzi sobie z HUNK_SYMBOL ($3f0 = 1008).
[#9] Re: Unknown Hunk?

@asman, post #8

@asman
dzięki... chyba ;)
co to znaczy po wystripowaniu symboli?
[#10] Re: Unknown Hunk?

@retronav, post #1

Christian Vogelgsang oferuje bardzo użyteczny zestaw narzędzi na swoim koncie github. Jednym z nich jest hunktool, który oprócz pokazywania struktury pliku w formacie AmigaHunk potrafi też deasemblować sekcje z kodem. Wymagania: środowisko uniksopodobne (Cygwin lub MSYS2 dla Windows mogą być) i Python 2.7.

The hunktool uses amitools' hunk library to load a hunk-based amiga binary. Currently, its main purpose is to display the contents of the files in various formats. You can load hunk-based binaries, libraries, and object files. Even overlayed binary files are supported.
[#11] Re: Unknown Hunk?

@retronav, post #9

po wyrzuceniu symboli. Czyli po usunięciu wszystkich hunków HUNK_SYMBOL. Takie hunki się przydają jak byś chciał kiedyś obejrzeć sobie plik wynikowy pod Resource i pechowo zgubiłeś źródełko do tego. Dzięki tym hunkow troszkę odzyskasz :). Mało kto zostawia symbole w wynikowym pliku. Kilka gier widziałem a w demie to chyba żadnym. Inna sprawa że ja mało dem podpatrywałem.

Zrób sobie mały projekcik:

SECTION demo,CODE

startuj_demo:
 rts

Skompiluj vasmem, wynik podejrzyj jakiś hex edytorem. Potem skompiluj jeszcze raz tym razem z opcją -nosym i też sobie zobacz. Wtedy wszystko będzie jasne.
[#12] Re: Unknown Hunk?

@asman, post #11

wielkie dzięki Asman, panowie.
działa!
[#13] Re: Unknown Hunk?

@cahir, post #10

Dzięki Cahir, to sobie obadam. Prawdziwi twardziele używają DropHunk. Proponuje przetestować troche własnych produkcji
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