Ja już wiem w czym rzecz:
http://www.lua.org/versions.html#5.3:
Lua 5.3 was released on 12 Jan 2015. Its main new features are support for integers, bitwise operators, and a basic utf-8 library.
:)
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
Street Fighter 2 na Atari - prace trwają W najnowszym materiale wideo autor zaprezentował aktualny stan rozgrywki.
Jurassic Spark - wersja finalna Podczas Grawitacji zaprezentowano wersję uproszczoną, pozbawioną kilku kluczowych elementów, które teraz zostały dodane.
ABBUC Software i Hardware Compos Ogłoszono coroczne konkursy.
Atari ANTIC Displaylist Designer Nowe narzędzie dla twórców oprogramowania na Atari 8-bit.
Gopher2600 v0.40.0 To pierwszy raz, kiedy informujemy o tym projekcie.
atari.area forum » Posty przez greblus
Strony Poprzednia 1 2 3 4 Następna
Ja już wiem w czym rzecz:
http://www.lua.org/versions.html#5.3:
Lua 5.3 was released on 12 Jan 2015. Its main new features are support for integers, bitwise operators, and a basic utf-8 library.
:)
Kurde, nie lubię się głupio upierać ;) ale Reference manual 5.3 o tym wspomina:
2.1 – Values and Types.
The type number uses two internal representations, one called integer and the other called float. Lua has explicit rules about when each representation is used, but it also converts between them automatically as needed (see §3.4.3
http://www.lua.org/manual/5.3/manual.html#3.4.3).
W Lua każda liczba jest double z definicji:
http://www.lua.org/pil/2.html
więc jak napiszesz:
a=2+2
to a i tak będzie reprezentowane w interpreterze jako double (czy float).
Ej, ale to by niemądre było. W Pythonie też tak to dziala, że jak trzeba (bo się nie mieści) to vm automatycznie konwertuje na większy typ, który dalej nazywa się tak samo (reprezentacja w pamięci nie jest jawna):
Python 3.4.2 (default, Oct 8 2014, 14:33:30)
[GCC 4.9.1 20140903 (prerelease)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> a=300
>>> type(a)
<class 'int'>
>>> a=a**a
>>> type(a)
<class 'int'>
A w luaconf.h jest taka definicja:
#elif defined(LUA_INT_LONG) /* }{ long */
#define LUA_INTEGER long
więc raczej 2+2 będzie typu long int.
@greblus: Jak Ty z Krakowa jesteś, to trzebaby się kiedyś ustawić, bo widzę, że nie tylko ja tu pingwinuję, pythonizuję i atarkuję jednocześnie ;D
Z Krakowa uciekłem do Niepołomic ale na browara chętnie wracam :)
LUA przewnęła mi się parę razy przez dysk ale nigdy jeszcze jej nie próbowałem.
Da się może z poziomu LUA korzystać z funkcji GEM/GEMDOS/VDI itp?
Niestety działa to na tej samej zasadzie pod Windows/Linuksem/etc - tak, jeśli ktoś stworzył "bindings" do danej biblioteki. Dałoby się zrobić, pytanie czy byłoby to używalne.
Zmień typ zmiennej Number z double na long, bo daleko na ST nie zajedziesz :)
Faktycznie, patrzyłem na luaconf.h kiedyś i sprawdziłem, że makro rozwija się do:
#define LUAI_BITSINT 16
a z tego wynika, że używa
#define LUA_INT_LONG
#define LUA_REAL_DOUBLE
zmieniłem na REAL_FLOAT, ale ja i tak używam tylko intów :P
Jakby ktoś nad wydajnością rozmyślał, to różnica jest znaczna (20 elementów fibonacciego na ST@8MHz w C 37x5ms, w Lua ~ 240x5ms) ale to trochę jak porównywanie jabłek i marchewek :)
@Skrzyp: spróbuje to jakoś w miarę obiektywnie ocenić, ale łatwo nie będzie ;) bo do czego i jak porównać? Konsola interaktywna odpalona na 8Mhz STE działa żwawo i pozwala eksperymentować z cechami języka z 21-wieku.
Mój pomysł był taki, żeby po pierwsze: przypomnieć sobie ANSI C, niekoniecznie w ujęciu total retro. Jak widać kod dosłownie z dzisiaj da się w PureC skompilować, no i teraz logicznie rozumując: Lua lubi się z C, więc przy odrobinie samozaparcia można spróbować "ożenić" to co przychodzi z PureC czyli GEMLIB z Lua. Znów osobiste eksperymenta - bo raz: nie znam GEMLIB (fajnie byłoby poznać), dwa nie znam Lua. Same korzyści jak widać i całkiem kształcąca zabawa ;). Aa no i jednym z założeń było działanie na Mist w trybie STEroids.
A co do współpracy z systemem - out of the box nie różni się niczym od Lua na PC. Obsługuje wejście i wyjście, plik da się otworzyć, przetworzyć, zapisać. Dla mnie szok, że jest coś takiego jak shell dla ST i to nie jeden. Gulam w każdym razie jest super.
Hej mistrzowie.
Szukałem jakiegoś małego języka skryptowego dla ST na Mist i znalazłem Lua.
Jakby ktoś chciał się pobawić, więcej szczegółów tutaj:
http://blog.greblus.net/2015/01/12/lua- … -st-purec/
i tutaj:
http://blog.greblus.net/2015/01/06/lua- … -atari-st/
Tylko proszę się nie śmiać. ST to dla mnie nowość ;)
Na moim Side1 w oryginalnym romie też był. Jakoś trzeba było spartycjonować nową kartę więć musiał być :). Na 64KB nie chciał działać, więc robiłem to pod Altirrą i kopiowałem obraz na kartę dd pod Linuksem.
Ta wersja sterownika nie obsługuje dużych partycji FAT16:
Literówka, powinno być D3:>FDISK.COM (albo D3:FDISK.COM). Musi działać.
Pablozp, spróbuj podać pełną ścieżkę np: D3>FDISK.COM.
Szkoda tylko, że to tego mixa FAT16 i 32 potrzeba linucha, bo nie mam aktualnie żadnej maszyny z tym osem. Nie ma na prawdę żadnego toola na windę?
Pin, w W7 jest takie w miarę zaawansowane narzędzie do partycjonowania i na 100% da się to w nim zrobić (chodzi tylko o założenie dwóch partycji, bez uszkadzania/kasowania APT-a). U mnie problem jest w drugą stronę - Windows używam do zabawy ;) i go nie znam.
Zawsze możesz to zrobić np w gparted live-cd, te narzędzia linuksowe są po prostu bardziej przewidywalne.
Witajcie.
Zgodnie z obietnicami, zamieszczam opis partycjonowania karty CF dla Atari Side: FAT32 posłuży do ładowania gier przez Side Loader, a FAT16 do wymiany danych z PC.
Potrzebne będa:
* Interfejs SIO2PC i AspeQt (lub SIO2SD)
* APT_Tools_SDFS.atr ze strony FJC.
W powyższym atr jest FATFS.SYS i stamtąd go skopiujemy, można go też wyciągnąć z toolkit_rev_c.atr ze strony SDX.
Film na Vimeo:
http://vimeo.com/116447661
Postępując jak na filmie:
Partycjonujemy kartę FDISK-iem na Atari. Moja karta ma 128MB (naprawdę mi wystarcza), W pierwszej kolejności inicjalizujemy kartę i dodajemy APT i partycję dla SDX. Jeśli chcemy skasować zawartość karty i utworzyć partycje od nowa wybieramy z menu Disk -> Initialize, jeśli chcemy dodać partycje czy dowiązanie dajemy Disk -> Open. Jeśli karta jest pusta, FDISK zapyta czy tworzyć partycje. Ważne: nie tworzymy FAT16/32 w FDISKU atarowym (trzeba wybrać odpowiednią opcję). Zrobimy to w następnym kroku w fdisku pod Linuksem.
Edit: FAT16 o rozmiarze mniejszym niż 32MB, większych sterownik fatfs.sys v0.7 nie obsługuje.
Formatujemy partycję SDX i FAT. FAT32 musi mieć powyżej 32MB, żeby mkfs,fat nie krzyczał, że ma za mało klastrów na utworzenie systemu plików. Dla starego Side Loadera dobrze aby FAT32 był przed FAT16, inaczej loader znajdzie FAT16 i nie będzie wiedział co z nim zrobić.
Dodajemy FAT16 jako "External" w atarowym fdisku i przypisujemy mu literę.
Odpalamy FATFS.SYS i przechodzimy na D2:. Budowanie indeksu plików (oczekiwanie po DIR) może chwile potrwać, ale powinniśmy się cieszyć zawartością partycji FAT16 pod SDX (read only). FAT32 służy do odpalania gier z loadera.
Kopiowanie danych z PC do SDX jest dzięki temu dużo szybsze i wygodniejsze.
Mam nadzieję, że się przyda ;)
Minusem jest to, że nie udało mi się zmusić SIDELOADERA do współpracy z FAT16. Tak więc, zależnie od potrzeb - deklarujcie albo FAT32 i możliwość pracy na loaderze i braku możliwości przetransferowania danych na APT, albo FAT16 i zagwostka z loaderem, ale możliwość dostępu do FATA z poziomu SDX.
Można utworzyć FAT16 do wymiany danych między PC a SDX i FAT32 dla side loadera. Przy starym side loaderze, FAT32 musi być pierwszy. Nie pytajcie mnie jaki to jest stary... U mnie w Side1 od Zaxona to taki jeszcze bez scrolla, lubię go bo jest minimalistyczny i jakieś gry mi na nim działały, a na tym ze scrollem na dole nie. Stary loader mam w Side, nowy z obsługą montowania atr/pbi w U1MB i tak jest ok.
Tutaj było więcej: http://www.atari.org.pl/forum/viewtopic … 90#p181490
Muszę się zmobilizować i nakręcić krótki filmik jak to się robi ;) bo temat jakoś dziwnie powraca, a nie jest to trudne do ogarnięcia. Może we wtorek się uda.
Podmień lib/atari8_graph.h na ten z załącznika, przekompiluj i zobacz czy działa jak należy :)
(0x25B6 0x0009)
Chyba tak to powinno wyglądać, jak na screenie.
@greblus: mała prośba, czy mógłbyś sprawdzić u siebie czy konwertuje Ci tabulacje ?
Hej Spencer. Sprawdzilem jeszcze raz i masz rację, tabulatorów z utf-8 nie konwertuje. Nie zauważyłem tego, bo edytor w Action! konwertuje taby na spacje przy zapisie. Są opcje podmiany niekonwertowalnych znaków, np. --unicode-subst= ale na to pewnie już wpadłeś.
Spróbujcie usunąć wrapper i wstawić tam tylko:
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
Kiedyś taka konstrukcja mi się kompilowała, ale po upgradach ubuntu przestało - w necie znalazłem tą poprawkę, wstawiłem i zaczęło się kompilować.
Edit: Poprawka oczywiście aplikowana jest na plik srclib/stdio.in.h
Mono, błąd (w Mingw) jest dokładnie taki:
./stdio.h:1010:66: error: missing binary operator before token "("
#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
Wystarczy dodać operator binarny: czyli np. !__GLIBC_PREREQ > (2, 16)
i jest ok. Wywalenie tego makra oczywiście również załatwia sprawę :)
Ten błąd z makrem w stdio.h:
#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ > (2, 16)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#endif
Brakuje mu operatora binarnego, bo pewnie makro się zmieniło w międzyczasie :)
Tabulatory konwertuje chyba ok (screen).
Hej. W załączniku exe (static, stripped) z ostatnim patchem mono z obsługą:
ATARI ATARIST
RISCOS-LATIN1
ATARI8 ATARI8-ATASCII ATARI8-GRAPH ATASCII
ATARI8-ATASCII2 ATARI8-INT ATASCII2
ATARI8-KAREN ATARI8-PL
ATARI8-AWP
ATARI8-XLENT
ATARI8-PANTHER
ATARI8-PE
ATARI8-CAPEK ATARI8-CZ
ATARI8-TCHEKO
ZX80 ZX81
ZX82 ZXSPECTRUM
ZX82-PL ZXSPECTRUM-PL
PETSCII PETSCII-UC
PETSCII-LC
CP867 CP895 KAMENICKY KEYBCS2
Dziękuję.
To ja dziękuje! Bez tabeli mapowań (nad którymi musiałeś się sporo nasiedzieć) nie mielibyśmy takiego fajnego narzędzia :)
Się skompilowało. W załącznikach iconv.exe z libiconv-2.dll i screen z Windows XP (testowałem też na W7).
Kompilacja na Windows nie będzie problemem, tylko w tym momencie szkoda mi było czasu na zabawę z mingw :) o wiele chętniej sprawdzam "co tam Panie nowego w Pythonie", bo od jakiegoś czasu stałem się niekompatybilny z wersją 3.
Mono, dzięki za twojego patcha do libiconv! Oby kiedyś został wciągnięty do oficjalnej paczki. Pod linuksem używam z powodzeniem, ale nie mam jak pod Windows skompilować więc wykorzystałem twoją tablicę atascii<->utf8 w skrypcie w Pythonie (w załączniku, może się komuś przyda).
Jenot napisał/a:żeby sobie przygotować CF z partycją FAT16 montowaną przez FATFS.SYS
Można to przecież zrobić z poziomu Atari i FDISK'a FJC. Problem tylko taki, że nie wiedzieć dlaczego /u mnie/ SideLoader próbuje czytać FAT16, lecz nie bardzo mu się to udaje, ale być może to u mnie coś jest jeszcze dodatkowo ^%^)&*^) ;)
A fat16 masz przed fat32? Zauważyłem kiedyś, że fat32 musi być po prostu pierwszy :> Od tamtej pory zero problemów.
Strony Poprzednia 1 2 3 4 Następna
atari.area forum » Posty przez greblus
Wygenerowano w 0.011 sekund, wykonano 69 zapytań