1,726

(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,727

(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,728

(27 odpowiedzi, napisanych Programowanie - 8 bit)

Nowy patch na libiconv.

1,729

(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,730

(243 odpowiedzi, napisanych Fabryka - 8bit)

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

1,731

(243 odpowiedzi, napisanych Fabryka - 8bit)

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

1,732

(27 odpowiedzi, napisanych Programowanie - 8 bit)

Dziękuję.

1,733

(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,734

(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,735

(27 odpowiedzi, napisanych Programowanie - 8 bit)

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

1,736

(318 odpowiedzi, napisanych Fabryka - 8bit)

aMAME :)

1,737

(318 odpowiedzi, napisanych Fabryka - 8bit)

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

1,738

(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,739

(5 odpowiedzi, napisanych Programowanie - 8 bit)

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

Edit: literówka

1,740

(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,741

(27 odpowiedzi, napisanych Fabryka - 8bit)

+1

1,742

(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,743

(10 odpowiedzi, napisanych Fabryka - 8bit)

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

1,744

(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,745

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

Dziękuję.

1,746

(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) ?

1,747

(7 odpowiedzi, napisanych Software, Gry - 8bit)

Zdaje się, że EmuPack pomaga, ale nigdy tego nie używałem.

1,748

(85 odpowiedzi, napisanych Fabryka - 8bit)

SIO2BSD i SDX obsługuje taki protokół, jak DOS2DOS (patrz driver PCLINK) który pozwala na bardzo szybkie przesyłanie danych w pojedynczych blokach. Działa to również z HS=0 i odpowiednim ROMem.

1,749

(85 odpowiedzi, napisanych Fabryka - 8bit)

HS=0 dawało się oidp uzyskać też z IDE+, który patchuje SIO i FT232 (z IO Boardem mi to działało). Jeśli w tym rozwiązaniu jest też taki układ to chyba powinno dać ten sam rezultat?

"Całe życie byłem drugi" ;] Mówi się: "trudno".