1,701

(25 odpowiedzi, napisanych Sprzęt - 8bit)

Atari, jak samochód. Za wyjazd z salonu płacisz 1/3 ceny :) A części już nikt nie produkuje więc się zarabia... <rotfl>

1,702

(27 odpowiedzi, napisanych Bałagan)

Hahahaha. "Kazał" fsck!
Dzięki Yerzu, bo już normalnie nie miałem czego słuchać. A tak? Robota teraz pójdzie jak z płatka :)
Czas zresztą już był najwyższy.

1,703

(27 odpowiedzi, napisanych Programowanie - 8 bit)

@greblus: Jasne. Dzięki.

@Spencer: To załatwi sprawę kiedy zostanie odpalone przed iconv:

$ awk '{ gsub(/{/,"$("); gsub(/}/,"$)"); print }' <text.input >text.output

Tylko pewnie musisz najpierw http://gnuwin32.sourceforge.net/packages/gawk.htm

Edit: Aaaa zapomniałem. W moich paczach na libiconv EOL z ATASCII (155/$9B) jest mapowany na unixowe LF (10/$0A).

Edit 2: Możesz oczywiście strumieniem:

$ awk .. <input.txt | iconv -t atari8 > output.txt

1,704

(101 odpowiedzi, napisanych Zloty)

155 to kod EOL w 8-bit Atari :)

1,705

(27 odpowiedzi, napisanych Programowanie - 8 bit)

greblus napisał/a:

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).

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

1,706

(27 odpowiedzi, napisanych Programowanie - 8 bit)

Procedura włączania własnego mapowania:

1. Ściągam i rozpakowuję wersję oryginalną:

$ wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
$ tar zxf libiconv-1.14.tar.gz
$ cd libiconv-1.14
$ export ICV=$(pwd)

2. W $ICV/tests/ opracowuję sobie pliki z mapowaniem np. ATARI8-GRAPH.TXT.

3. Kompiluję sobie narzędzie do przetwarzania mapowań:

$ cd $ICV/tools
$ make 8bit_tab_to_h

4. Mapowanie przetwarzam za pomocą

$ cd $ICV/lib
$ $ICV/tools/8bit_tab_to_h "Atari 8-bit Semi-graphic ATASCII" atari8_graph <$ICV/tests/ATARI8-GRAPH.TXT

Jeśli trzeba wprowadzić jakieś poprawki do wygenerowanego pliku, to należy to zrobić dopiero teraz. Można oczywiście (i gorąco to polecam) też modyfikować $ICV/tools/8bit_tab_to_h.c żeby uniknąć modyfikowania generowanego kodu.

5. Uzupełniam pliki:
- $ICV/lib/aliases_extra.h

  S(extra_12, "ATARI8", ei_atari8_graph )
  S(extra_13, "ATARI8-GRAPH", ei_atari8_graph )
  S(extra_14, "ATARI8-ATASCII", ei_atari8_graph )
  S(extra_15, "ATASCII", ei_atari8_graph )

- $ICV/lib/converters.h

#include "atari8_graph.h"

- $ICV/lib/encodings_extra.def

DEFENCODING(( "ATARI8",
              "ATARI8-GRAPH", "ATARI8-ATASCII", "ATASCII",
            ),
            atari8_graph,
            { atari8_graph_mbtowc, NULL },     { atari8_graph_wctomb, NULL })

- $ICV/lib/flags.h

#define ei_atari8_graph_oflags (HAVE_ACCENTS)

Tu wydaje mi się wystarczy 0 - HAVE_ACCENTS prawdopodobnie stosuje się dla kodowań ze znakami diakrytycznymi (nie wnikałem w kod - trzeba by się w to zagłębić).

5. Kompiluję całość:

$ cd $ICV
$ ./configure --enable-extra-encodings
$ make

6. Instaluję:

$ sudo make install
$ sudo ldconfig

Edit: Nie wiem zupełnie czy i jak definiować mapowania wielobajtowe. Pewnie się da, bo wystarczy spojrzeć na kodowanie arabskie gdzie znaki pisze się od prawej do lewej.

Edit 2: Załączam jeszcze moją wersję narzędzia 8bit_tab_to_h.c bo oryginalna się nie kompiluje (poprawiłem to ze 3 lata temu i nie pamiętam ocb).

1,707

(27 odpowiedzi, napisanych Programowanie - 8 bit)

Nowy patch na libiconv.

1,708

(22 odpowiedzi, napisanych Fabryka - 8bit)

Aktualizacja 4.
Poprawione:
- ATARI8-CAPEK, ATARI8-CZ - inne mapowanie znaku CLRSCR (125)
Dodane:
- ATARI8-TCHEKO - czeski film
- ZX80, ZX81 - w unicode brakuje dwóch znaków (w sumie 4 bo +inwers) $0D, $0E
- ZX82, ZXSPECTRUM, ZX82-PL, ZXSPECTRUM-PL - standard ZX Spectrum i polskie znaki w standardzie H-PRG
- PETSCII-UC, PETSCII-LC, PETSCII - C=
- CP895, CP867, KAMENICKY, KEYBCS2 - czeskie kodowanie braci Kamienickich
Arabskie ATASCII ciągle czeka na chętnego.

1,709

(243 odpowiedzi, napisanych Fabryka - 8bit)

Ja też byłbym taką wersją zainteresowany.

1,710

(243 odpowiedzi, napisanych Fabryka - 8bit)

Gratulacje! W pełni zasłużone pierwsze miejsce.

1,711

(27 odpowiedzi, napisanych Programowanie - 8 bit)

Dziękuję.

1,712

(318 odpowiedzi, napisanych Fabryka - 8bit)

Podobno (_podobno_!) obydwa CPU (6502C i 65C816) mogą pracować równocześnie korzystając z tej samej pamięci. Jeśli to prawda to byłbym mocno zainteresowany informacjami na ten temat.

Edit: W zasadzie to nawet jeśli nie korzystają z tej samej pamięci to nadal byłbym zainteresowany tym jak to działa.

1,713

(27 odpowiedzi, napisanych Programowanie - 8 bit)

W razie gdyby ktoś chciał się zabawić w kompilację służę plikami mapowań. Procedura jest taka, że plik .TXT z mapowaniem przetwarza się na .c za pomocą tools/8bit_tab_to_h dostępnego w źródłach libiconv, włącza się to w źródło (kopiuje pliki .c + modyfikuje Makefile i parę innych - odsyłam do przejrzenia patcha) i kompiluje potem razem. Zdecydowałem się na włączenie tych mapowań jako dodatkowych - dostępnych z --enable-extra-encodings podczas configure. Pliki załączam w celach poglądowych, bo do kompilacji wystarczy źródło i plik patch z mojej strony. Nagłówki i copyrighty unicode.org w załączonych plikach mogą być tam niepopoprawiane więc nie zwracajcie na to uwagi - wszystkie sam przygotowałem. W przygotowaniu są jeszcze kodowania arabskie, czeskie (tcheko i cp895 czyli standard kamenickych), Z80/Z81, ZX Spectrum (standard i PL) oraz PETSCII (lowercase i uppercase - jeśli ktoś ma informacje o standardach kodowania pliter na C= to poproszę o info).

1,714

(27 odpowiedzi, napisanych Programowanie - 8 bit)

Nie ma za co. I to mi się podoba! Bieżcie i jedźcie ;)

1,715

(318 odpowiedzi, napisanych Fabryka - 8bit)

aMAME :)

1,716

(318 odpowiedzi, napisanych Fabryka - 8bit)

@lemiel: Dzięki. Amiga to z VBXE i SoundBoardem :) Z Evie to ST :)

1,717

(318 odpowiedzi, napisanych Fabryka - 8bit)

Ile RAM może mieć Rapidus maksymalnie? Czy będzie możliwość rozszerzenia RAMu na max? Czy trzeba to będzie robić w specjalizowanych salonach firmowych czy da się w garażu bez lutownicy? :)

Edit: Atariki mówi o 31MB łącznie - czy jest to prawda?

1,718

(5 odpowiedzi, napisanych Programowanie - 8 bit)

A może by tak zrobić optymalizator kodu BASICa? :)

Edit: literówka

1,719

(27 odpowiedzi, napisanych Programowanie - 8 bit)

Na mojej stronie znajduje się patch na program GNU libiconv. A tu http://www.atari.org.pl/forum/viewtopic.php?id=9281 jest wątek na aa. Używam go w makefileach do automatycznej konwersji plików tekstowych podczas budowania projektu.
Ma niestety swoje ograniczenia w zakresie inverse i znaków kontrolnych - nie wszystkie kombinacje są konwertowane poprawnie, ponieważ nie znalazłem w unicode odpowiedników. Z podstawowym zestawem ASCII nie ma problemów.
iconv -l poda ci listę wszystkich enkodingów; patrz na te z prefiksem ATARI8.

1,720

(27 odpowiedzi, napisanych Fabryka - 8bit)

+1

1,721

(16 odpowiedzi, napisanych Zloty)

O JimPower Yerzmyey za każdym pobytem na party uruchamia na ST lub Amidze. Polecam szczególnie tą drugą wersję ze względu na muzykę.

1,722

(10 odpowiedzi, napisanych Fabryka - 8bit)

Oooo śliczby obrazek. Pamiętaj tylko o zerowaniu ATRACTa :)

1,723

(85 odpowiedzi, napisanych Fabryka - 8bit)

Czołem Bago :) Podłub, podłub. SIO2PC (i warianty czyli SIO2USB czy IOBoard) to chyba najwygodniejsze rozwiązanie do kodowania. Stały link z atarą i żadnego miąchania jakimiś kartami.

1,724

(1,754 odpowiedzi, napisanych Fabryka - 8bit)

Dziękuję.

1,725

(1,754 odpowiedzi, napisanych Fabryka - 8bit)

xxl napisał/a:

... xB bedzie krotszy.

Jak przy naprawie magnetofonu. Za każdym razem zostaje trochę śrubek :) Jak to się dzieje xxl? Moje programy z każdymi nowymi funkcjami są zawsze coraz to dłuższe - u Ciebie odwrotnie :) Też bym tak chciał. Podziel się cholera tajemnicą.

Ten przykład z ramdyskiem jeśli dobrze zrozumiałem pozwala na dodanie nowego nośnika na poziomie podstawowym (dostęp do sektorów). Czy z fsami można zrobić to samo równie przyjemnie (wiesz o co mi chodzi :P) ?