51

(5 odpowiedzi, napisanych Sprzęt - 16/32bit)

artik-wroc napisał/a:

Konfiguracja jest przeniesiona z działającej (więc ROUTE.TAB) jest poprawny

Ale konfiguracja sieci to nie tylko route.tab (który już w pierwszym poście na oko wygląda prawidłowo) dlatego zalinkowałem opis konfiguracji NETUSBee jako poglądowy. Generalnie chodzi mi konfigurację STinG'a w panelu konfiguracyjnym (Xcontrol, Cops, czy co tam innego jeszcze masz), czy tam jest dobrze skonfigurowane? Edit: albo inaczej, co masz tam ustawione?

52

(3 odpowiedzi, napisanych Emulacja - 16/32bit)

Kojarzy ktoś gdzieś jakiś obraz MiNTa (tego zwykłego, nie a nie pełnego uniksoida)?
Bardzo by mi się przydało mieć ten system pod Hatari, a że nie zadziała on z Hatarowymi dyskami GEMDOS, więc nie zainstaluję go sobie ot tak, tylko trzeba podpiąć jakiś obraz.
Kiedyś próbowałem podpinać obraz mojego EasyMiNTa i nawet się to uruchomiło, ale było tak koszmarnie wolne, że kompletnie nieużyteczne. Dlatego mam nadzieję, że "zwykły" MiNT będzie dawał radę wydajnościowo, a nie widzi mi się stawianie tego od nowa żeby zrobić obraz (choć coś czuję, że tak się pewnie skończy) więc może ktoś gdzieś widział w internetach takowy obraz?

53

(5 odpowiedzi, napisanych Sprzęt - 16/32bit)

A skonfigurowałeś sobie sieć po stronie Atari?

Nie wiem co to za cudo ten USB2LAN (a pierwsze 3 strony które sprawdziłem wpisując te znaczki w wyszukiwarkę też nie dały mi odpowiedzi) ale konfiguracja tego raczej nie powinna się specjalnie różnić od takiego na przykład NetUS-Bee, więc zerknij czy zrobiłeś wszystko wg tego poradnika:

http://hardware.atari.org/manuals/netsting.htm

54

(4 odpowiedzi, napisanych Programowanie - 16/32bit)

-lm oczywiście dawałem. Ale już znalazłem przyczynę, miałem starszy libm, znalazłem na stronie Thorsten'a nową wersję tej biblioteki (z lutego) i binarka się właśnie utworzyła! :)
Pozostaje pytanie dlaczego paczka z toolchain'em od Thorsten'a którą pobierałem jak montowałem sobie środowisko skrośne dawała te undefined'y. Błąd raczej wykluczam, bo funkcje trygonometryczna na Float'ach są raczej częste, więc błąd byłby pewnie dość szybko wychwycony... Nieważne, ważne, że teraz działa :)

55

(4 odpowiedzi, napisanych Programowanie - 16/32bit)

Działa połowicznie, czyli 'cos' już się linkuje jak trzeba, ale 'sin' nadal przerabiany jest na 'sinf' (???)
Na razie nie wnikam dlaczego, bo jednak chciałbym tą przypadłość wyprostować. Przecież to niemożliwe że kompilator generuje kod obiektowy z którego linker nie jest w stanie skorzystać.
Muszę w jakiś sposób automatyczny przeskanować wszystkie biblioteki w poszukiwaniu sinf, cosf, tanf itp, bo przecież to musi gdzieś być (libm oczywiście ręcznie sprawdziłem)

#include <math.h>
#include <stdio.h>

int main()
{
    float position;
    
    float rad_angle = (10 * 3.1459)/180;
    position = 100 * cos(rad_angle);
    position = 200 * sin(rad_angle);
    
    printf("position= %f\n", position);
    
    return 0;
}

Próba kompilacji toolchain'em Thorsteena kończy się:

/usr/lib64/gcc/m68k-atari-mint/9/../../../../m68k-atari-mint/bin/ld: /tmp//ccBofFdp.o:/tmp//ccBofFdp.o:(.text+0xa): undefined reference to `cosf'
/usr/lib64/gcc/m68k-atari-mint/9/../../../../m68k-atari-mint/bin/ld: /tmp//ccBofFdp.o:/tmp//ccBofFdp.o:(.text+0x1e): undefined reference to `sinf'
collect2: error: ld returned 1 exit status

To jest dokładnie przypadek jak miałem tu:

http://www.atari.org.pl/forum/viewtopic.php?id=18467

Pomysł AdamaK z zalinkowanego tematu jak najbardziej działał, ale miał dwa ale:
- math-68881.h jak dobrze pamiętam z czymś się gryzło (podwójne deklaracje) więc jeden zestaw zahaszowałem (po czym wszystko już działało)
- wymagane FPU

Teraz wymaganie FPU nie przejdzie, a do tego zabawa z podmianą na komentowany z niektórych deklaracji math-68881.h to niefajne obejście, więc rozwiązanie raczej słabe.
Oczywiście jak to kompiluję pod linuksem to wszystko jest OK, czyli to coś w naszym toolchain'ie. Stąd pytanie, jak te kilka linijek skompilować bez żadnych obejść/hack'ów itp?

57

(115 odpowiedzi, napisanych Zloty)

Dzięki wszystkim zaangażowanym w organizację tej zacnej incjatywy zwanej Lost Party! jak i wszystkim uczestnikom!
Wyśmienicie spędzone prawie czetery doby.

58

(2 odpowiedzi, napisanych Software, Gry - 16/32bit)

Binarka ROTT. Należy rozpakować i wrzucić do rozpakowanego katalogu pliki z danymi oryginalnej gry:
DARKWAR.WAD
DARKWAR.RTL
REMOTE1.RTS
Jest tylko drobny niuans, na oryginalnym WAD'ie niektóre dzwięki miksują się nieprawidłowo, nie ma takich przypadków dużo, ale gdzieś chyba widziałem WAD który zawsze się miksuje dobrze :)

Oczywiście polecam zakupić ROTT, obecnie na GOGu do 3 lipca jest w promocji za 2.59 zł!
A jak kto przegapi, to nic straconego, ROTT kilka razy w roku ma tą cenę na GOGu:
https://www.gogdb.org/product/1207658732
:)

Wymagania to MiNT (w TOSie się uruchomi, ale nie wiedzieć czemu, działa bardzo wolno) + jakaś dopałka + wspomniane wyżej pliki z danymi gry. Na CT6x działa wyśmienicie. Gdyby ktoś miał AB40 czy inne cuda, to chętnie dowiem się czy to jest grywalne, choć może być ciężko.

Wielkie podziękowania za testy lecą dla Kroll'a + mały wątek testowy wykonał też perinoid.

Za chwilę dołączę źródła (licencja mnie do tego wręcz zobowiązuje) tylko trochę posprzątam je i zobiorę do kupy.

Edit:
O, znalazłem :) Ten WAD miksuje zawsze prawidłowo:

https://ufile.io/enoj6k0s

Edit2:
Dodana paczka ze źródłami.

59

(24 odpowiedzi, napisanych Bałagan)

Lizard napisał/a:

a dla systemów uniksowych jednoznacznej odpowiedzi nie ma.

W sumie racja. To mi przypomniało, że kiedyś często widywałem na forach pytania o wielkość partycji swap i było zawsze multum teorii. Nie wiem skąd mi się więc wzięła ta dwukrotność, osobiście od lat nie zakładam swap'a (a nie mam jakichś bajońskich ilości RAMu) i nie planuję tego zmieniać.

60

(24 odpowiedzi, napisanych Bałagan)

Sikor napisał/a:

Nie pamiętam już, czy plik wymiany może być 2 lub 4 krotnie większy od RAM, czy mniejszy - dawno to było

O, to trochę dziwnie w tym Windowsie to jest. Na *nix'ach to się "z palca" ustawia wielkość co do megabajta, albo nawet i bajta (choć było zalecane aby właśnie ustawiać dwukrotność pamięci RAM)

61

(6 odpowiedzi, napisanych Zloty)

Spora szansa, że się pojawię.

62

(21 odpowiedzi, napisanych Programowanie - 16/32bit)

Adam Klobukowski napisał/a:

@jury, ale tam nic nie ma o zgodności libcmini w POSIXem. Jest o zgodności MiNTlib z POSIXem, którego libcmini w pełnie nie zapewnia. W swoim początkowym pości pisałeś o narzucie libcmini i do tego ja się odnosiłem w swoim poście.

O widzisz, to się nie zrozumieliśmy. Ja nie pisałem o narzucie libcmini, tylko dowrotenie o kosmicznym narzucie mintlib'a, i, że właśnie libcmini niesamowicie pomaga w zbiciu tego narzutu.

jury napisał/a:

Póki co to właśnie sobie zmontowałem libcmini i zwykła linijka kodu "printf("Hello world\n") kompiluje się zamiast do 125KB (jak przy domyślnej bibliotece standardowej mintlib) do 2,7KB.


Adam Klobukowski napisał/a:

Leśli hodzi o narzut MiNTLiba, to kiedy ostatnio kompilowałem Hello World, to binarka miałą coś koło 600KB

Tak, też pamiętam, że kawał czasu temu hello world kompilował się coś pod sześćset kilo, czyli obecnie ze swoimi 125 kilo to mocno go poprawili :)

63

(21 odpowiedzi, napisanych Programowanie - 16/32bit)

No napisałeś, ze ten narzut nie ma nic wspólnego z POSIX'em

Adam Klobukowski napisał/a:

Narzut jest zapewne spowodowany kodem do obsługi standardu ARGV i startowej inicjalizacji i nic to nie ma akurat wspólnego z POSIXem.

Więc zalinkowałem źródło libcmini które twierdzi, że ten narzut (jak został nazwany "huge") jest związany tylko i wyłącznie z dorzucaną warstwą POSIX'ową

64

(21 odpowiedzi, napisanych Programowanie - 16/32bit)

Adam Klobukowski napisał/a:

libcmini to nie MiNTLib, nie mieszajmy. Narzut jest zapewne spowodowany kodem do obsługi standardu ARGV i startowej inicjalizacji i nic to nie ma akurat wspólnego z POSIXem.

Z githuba libcmini:

"libcmini aims to be a small-footprint C library for the m68k-atari-mint (cross) toolchain, similar to the C library Pure-C came with. Many GEM programs do not need full MiNT support and only a handful of C library functions.

By default, gcc compiled programs on the Atari ST platform link to mintlib. Mintlib aims to implement all POSIX functionality to make porting Unix/Linux programs easier (which is a very good thing to have). For small GEM-based programs, this comes with a drawback, however: program size gets huge due to the underlying UNIX compatibility layer."

65

(21 odpowiedzi, napisanych Programowanie - 16/32bit)

Adam Klobukowski napisał/a:

printf to jest wbrew pozorom całkiem skomplikowana funkcja, 125kb to nie jest dużo w tym kontekście.

To nie printf jest "problemem". Zamieniłem printf'a na "return 0" i to się skompilowało o 0,3KB mniej, czyli nie 125 a 124,7.
Chodzi o to, że mintlib niezależnie co masz w kodzie i tak dodaje cały inwentarz POSIX'owy. I to on zapycha bezsensownie (no bo i tak nie jest używany) binarkę. Po to Marcus stworzył właśnie libcmini, żeby ktoś kto nie potrzebuje POSIXa nie miał nic z niego w binarce.

Adam Klobukowski napisał/a:

Gcc samo z siebie generuja bardzo dobry i zwarty kod - problemem są biblioteki. Ale jeśli twój projekt jest duży (bo raczej na printf sie nie skończy?) to się to 'amortyzuje'

Projekt raczej duży, a printfa (ani nic w podobie) nie będzie najpewnie nawet jednego :) Tak tylko dałem jako przykład klasycznego hello worlda do kompilacji z mintlibem i libcmini, bo potrzebowałem jakiś cyferek.

saulot napisał/a:

gcc + opcja nostdlib / mshort + customowy startup + kilka funkcji i da się żyć (ewentualnie libcmini).. do printfa od jakiegoś czasu używam nanoprintf, ale to jest pod c99/11> ...

Dzięki (o tym mshort dzisiaj gdzieś coś już czytałem, jeszcze nie wiem co to, ale się zagłębię, bo podobno też to warto dodawać)

saulot napisał/a:

Btw PureC to też niezła opcja ze względu na ide / debugger, ale dialekt stary dialekt c może teraz trochę odstraszać... ale działa..

No właśnie to chyba była by najodpowiedniejsza opcja dla 512KB ST, ale właśnie ten stary dialekt ...

66

(21 odpowiedzi, napisanych Programowanie - 16/32bit)

Stripping akurat nie ma tutaj nic do rzeczy. To, że printf("hello world\n") kompiluje się do ponad 100KB, to "normalka", bo "nasza" standardowa biblioteka dla gcc zawsze dodaje bojową gotowość POSIX'a, więc to dlatego. I dlatego właśnie @mfro wytworzył  libcmini aby nie było takiego bezsensu jak ktoś chce tworzyć "zwykłe" rzeczy.
Ale właśnie pytanko mam czy coś jeszcze warto zrobić z gcc żeby to co wypluwa miało jakiś sens dla ST

67

(21 odpowiedzi, napisanych Programowanie - 16/32bit)

Czy używanie takiego potwora jak gcc dla docelowej platformy 512KB ST ma sens?
Póki co to właśnie sobie zmontowałem libcmini i zwykła linijka kodu "printf("Hello world\n") kompiluje się zamiast do 125KB (jak przy domyślnej bibliotece standardowej mintlib) do 2,7KB.
Ale czy kojarzy ktoś czy są jeszcze inne rzeczy które trzeba by zrobić czy może fakczynie używanie gcc dla ST to bezsens jak strzelanie do muchy z armaty i lepiej użyć PureC?

(o matko, jakakolwiek operacja na forum {typu wyświetl "aktywne tematy", wejdź w jakiś wątek, dodaj nowy wpis ...} trwa jakieś pół minuty)

68

(16 odpowiedzi, napisanych Zloty)

Ja to powiedzmy tak 50/50

69

(11 odpowiedzi, napisanych Software, Gry - 16/32bit)

Mupfel coś nie do końca mi działa. To znaczy uruchamia się, ale potem mam tylko komunikaty, że program nie został uruchomiony :/ Coś jeszcze popróbuję, bo ten Mupfel podoba mi się najbardziej ze wszystkiego co póki co testwałem.

sqward napisał/a:

uiptool ma funkcję zdalnego odpalania programów pod TOS i przekierowania wyjścia do peceta.

Fajna opcja, muszę spróbować.

willy napisał/a:

Kiedyś coś takiego lub podobnego raczej nie napisałem ale skompilowałem z jakichś źródeł pod falcona.
Musiałbym tego poszukać.

Strzelam, że chodziło o Gulam:

https://github.com/ggnkua/Atari_ST_Sour … ratt/GULAM

:) dzięki któremu wreszcie działa mi przekierowanie standardowego wyjścia jak powinno.

70

(11 odpowiedzi, napisanych Software, Gry - 16/32bit)

Takie coś też by mnie satysfakcjonowało. Popróbuję.

71

(11 odpowiedzi, napisanych Software, Gry - 16/32bit)

Adam Klobukowski napisał/a:

Nie do końca rozumiem po co shell pod TOSa w okienku - bo to przecież singletask - chcesz go z akcesoriami używać?

Mam binarkę która "wyrzuca" czasem dość spore ilości printf'ów. Dotychczas uruchamiałem ją na Falconie w MiNT w Conholio i najzwyklej przewijałem okienko żeby cofnąć się ekran, dwa czy pięć temu i zobaczyć co zostało wyplute. Czasem też przekierowywałem wyjście do pliku i przeglądałem to w pliku.

Ale wymyśliłem, że zamiast zaprzęgać Falcona, to szybkie testy tych printfów bym robił w Hatari w TOSie
No ale Okami do tego się  nie nadaje, bo to pełny ekran a do tego przekierowanie wyjścia jakby coś nie do końca działało. To znaczy takie "date >plik.txt" działa git, ale jak uruchamiam tą moją binarkę, to tylko tworzy plik ale nic tam nie przekierowuje (to są zwykłe printfy, jak przekompiluję to na linuksa i przekieruję standardowe wyjście na plik to oczywiście wszystko "ląduje" w tym pliku)

Znalazłem jeszcze A Shell. Ale ten to nawet nie tworzy pustego pliku, nie mówiąc o przekierowaniu.
Więc wymyśliłem, że może jest jakiś okienkowy shell, to bym sobie przewijał zawartość jak w Conholio. Stąd zadałem pytanie, bo nie umiem znaleźć nic innego oprócz Okami i Ashell (a wiem, że na pewno więcej tego było, więc po cichu liczę na coś okienkowego [albo z działającym przekierowaniem, choć okienko było by najwygodniejsze])

72

(11 odpowiedzi, napisanych Software, Gry - 16/32bit)

Zgadza się.

73

(11 odpowiedzi, napisanych Software, Gry - 16/32bit)

Jest pod TOSa może jakiś shell w okienku?
Dotychczas używałem Okami i służył doskonale do czego potrzebowałem, ale przydałby mi się teraz właśnie jakiś shell okienkowy.

74

(63 odpowiedzi, napisanych Software, Gry - 16/32bit)

Wątpię aby coś z tego wyszło na ośmiomegahercowej maszynie, ale do odważnych świat należy :)
Tu masz poradnik na temat zmiany MiNTa na unix'oida:

https://sites.google.com/site/probehous … t-on-atari

75

(19 odpowiedzi, napisanych Zloty)

Raczej być powinienem.