http://sourceforge.net/projects/atari8/ - narzędzia Bob_er'a - m.in. projekt Yvonne, którym na pc (unixoidy) możesz oglądać obrazki z atari - ma sporo formatów.

2,852

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

http://atariarea.krap.pl/forum/viewtopi … 541#p53541

Edit: Aaargh! Dałem się złapać na to samo.

2,853

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

Prawda, prawda - sam byłem magnetofilem z przymusu :)

2,854

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

Miłośnik magnetofonu - magnetofil?

2,855

(14 odpowiedzi, napisanych Bałagan)

Zlecenie jest kompletnie nieopłacalne. Brak kosztów 50% lub 20%, ZUS, podatek 20%. Kompletny bezsens.

2,856

(40 odpowiedzi, napisanych Programowanie - 8 bit)

Ze strony http://www.bookcase.com/library/softwar … rland.html (zarchiwizowane również u mnie) można ściągnać program do edycji fontów .CHR (na samym dole plik bgifont.zip - http://mono.i-demo.pl/bgifont.zip ). Dodatkowo są też pliki z przykładowymi fontami:
- bgi28fnt.zip ( http://mono.i-demo.pl/bgi28fnt.zip )
- bgifonts.zip ( http://mono.i-demo.pl/bgifonts.zip )
- lcdfonts.zip ( http://mono.i-demo.pl/lcdfonts.zip )
Dodałem fonty z bgi28fnt na dysk .atr ( http://mono.i-demo.pl/chrdraw7.atr ).
Przykładowy font H--C.CHR:
http://mono.i-demo.pl/a8h--c.png
Poza tym na razie nie ma zmian.

Edit: Na stronie http://www.programmersheaven.com/downlo … nload.aspx z kolei znalazłem coś takiego: http://mono.i-demo.pl/sfe.zip co jest podobno nowszą wersją edytora fontów .CHR. Działa ładnie z dosemu, ale trzeba mu dokopiować plik http://mono.i-demo.pl/egavga.bgi .

2,857

(3 odpowiedzi, napisanych Scena - 8bit)

Muzyka z Draconusa jest na dysku z programem Future Composer, jako demo. Jest tam parę niezgodności z oryginałem, ale to akurat da się łatwo wyłapać. Demo możesz zaczytać do FC i zmienić tempo odtwarzania oraz odsłuchać. Masz tam też zapis nutowy w postaci listy zdarzeń C-2, C#2 itp. więc nie ma co spowalniać, tylko przepisać :D Mam chyba nawet gdzieś instrukcję do tego programu (sam program jest bazowany na tym z C64) więc przy okazji mogę poszukać i Ci podam.

edit: http://atarionline.pl/utils/3.%20Muzyka … 201.32.atr
Po uruchomieniu atra pojawi się dos. trzeba po prompcie odpalić FC i pojawi się wtedy panel główny Future Composera.
Obsługa: Shift+I, L D1:DRACONUS.FC<RETURN>, E, OPTION uruchamia muzykę od początku (SELECT robi pauzę, START wznawia odtwarzanie).
Nawigacja nawet w trakcie odtwarzania: strzałki + RETURN wchodzisz do patternu. ESC wychodzisz. Zmiana tracka SHIFT+1,2 lub 3.

Draconus jest też, jako demo w Sound Trackerze z ASF (ale nie mogę go nigdzie znaleźć - dziwne...).

2,858

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

Ja na moim slackware 10.1 musiałem przy odczytach sprawdzać ile się faktycznie odczytało danych i powtarzać aż do skompletowania żądanej ilości. Ale może wystarczy jakąś stałą zastosować.

2,859

(89 odpowiedzi, napisanych Bałagan)

Broni atomowej? Możesz dely powiedzieć jak to było?

2,860

(40 odpowiedzi, napisanych Programowanie - 8 bit)

Fill jest w planie zaraz po rysowaniu tekstu na ścieżce, które może będzie nawet dzisiaj.

2,861

(40 odpowiedzi, napisanych Programowanie - 8 bit)

Wersja atari z liczonym sinusem ( http://mono.i-demo.pl/chrdraw6.atr ).
http://mono.i-demo.pl/a8tscr4.png
Źródła atari: http://mono.i-demo.pl/chrdraw6.asx .

2,862

(40 odpowiedzi, napisanych Programowanie - 8 bit)

Nie upieram się przy swoim, bo to jednak kwestia sporna i zależy od upodobań, ale zdarzyło mi się uruchamiać serwer tcp napisany w java5 na platformie dla routerów w okrojonej javie (gnu classpath - http://www.gnu.org/software/classpath/home.html ). Dzięki temu, że nie wykorzystywałem w modelu klas zależnych od środowiska graficznego, poprawki w kilku zaledwie miejscach ograniczyły się tylko do użycia metod z java2 i skompilowaniu wszystkiego dla starej wersji klas (48.0). Uznałem, że uniezależnienie modelu tam gdzie się da od innych elementów aplikacji to jednak dobra praktyka i dlatego stosuję :) Może kiedyś awt i swing wyleci na stałe z javy a sama java będzie miała niewielki rdzeń plus dodatki...? ;)

2,863

(40 odpowiedzi, napisanych Programowanie - 8 bit)

@Fox: dzięki za pozytywny komentarz, lecz z resztą będę jednak polemizował :)
Strukturkę, jak mówi Laoo zastosowałbym bardzo chętnie (i tak zrobię w kolejnej wersji ;)), ale dalej nie chciałbym używać Point'a (i pochodnych) z pakietów AWT. Cały pakiet onebit.chrdraw.chr jest uniezależniony od grafiki, żeby można było go używać np. w aplikacjach serwerowych nie posiadających środowiska graficznego (TextLine służy tylko do zobrazowania wyglądu fonta i jako jedyna powinna być zależna od pakietów graficznych; plus jeszcze kod tworzący okno). Gdybyśmy mieli zależności od AWT, to chcąc wykorzystać kod dla fontu w aplikacji konsolowej, albo serwerowej trzeba by go przerobić pozbawiając zależności od AWT. A co gdybyśmy chcieli pewnego dnia przerobić bibliotekę do pracy w 3D? Mając java.awt.Point i tak trzeba by wtedy napisać nową klasę pochodną z kolejną składową - może pod tym kątem wektor nie jest najgorszy? Wektorowe fonty w 4 wymiarach... ;) Żartuję! Wolę jednak strukturę niż kolekcję.

2,864

(5 odpowiedzi, napisanych Programowanie - 8 bit)

Kiedyś używałem tego programu do pracy nad grą na komórę (j2me). Bardzo przydatna okazała się możliwość pisania własnych skryptów w języku LUA - dzięki temu mając wyedytowany poziom mogłem go sobie zapisać do własnego formatu.
A najbardziej chyba podobała mi się możliwość ustalania własnych atrybutów int i bool dla klocków. Polecam również - całkiem dobre narzędzie o sporych możliwościach.

2,865

(40 odpowiedzi, napisanych Programowanie - 8 bit)

Dzięki tebe. Przyda się przy tworzeniu biblioteki. I muszę się przełamać do używania makr i psudorozkazów :)

2,866

(40 odpowiedzi, napisanych Programowanie - 8 bit)

Nie bardzo podobało mi się użycie klasy z AWT podczas parsowania parametrów commandline'a, które jest przecież niezależne od warstwy graficznej. I nigdzie w programie nie byłby ten Point używany do niczego innego, jak tylko do składowania informacji (jest użyty tylko przy transformacjach afinicznych). Aczkolwiek nie jestem tu konsekwentny - wiem, bo aplikacja jest zbudowana na pochodnej JFrame'a ze Swing'a a w takim razie powinna być np. zwykłym Object'em a okno powinno być wydzielone do osobnej klasy. Trudno jednak sobie rozwarstwić aplikację bo sama AffineTransform jest w pakiecie w AWT :(, a może powinna być w jakimś java.math.geom(?). Konkludując - jestem zdania, że nie powinno się mieszać warstw i stąd użycie Vector'ów (choć powinna być zdefiniowana własna klasa Point ze współrzędnymi dla translacji, oraz analogiczna klasa Factor dla skalowania i pochylania). Jak już wcześniej pisałem projekt mógłby być ładniej napisany, ale to prototyp i chciałem szybko zobaczyć wyniki :)

A co do kodu asm - napisany w jEdit'cie na piecu i assemblowany mads'em 1.8.4, odpalany emulgatorem atari800. Też nieładny i nieszybki z tych samych powodów co wyżej.

2,867

(40 odpowiedzi, napisanych Programowanie - 8 bit)

Transformacje afiniczne (skalowanie, obroty, pochylanie, przesuwanie).
Sposób wywołania aplikacji java (http://mono.i-demo.pl/chrdraw5.jar ):
$ java -jar chrdraw.jar font skala przesuniecie rotacja pochylenie tekst
Nastąpiła zmiana w formacie parametrów:
- skala to wektor - domyślnie 1.0,1.0
- przesunięcie to wektor - domyślnie 0.0,0.0
- rotacja to skalar - domyślnie 0.0
- pochylenie to wektor - domyślnie 0.0,0.0
Program na atari (http://mono.i-demo.pl/chrdraw5.atr ) realizuje transformacje na uproszczonych macierzach 2x3 (ostatni wiersz zawsze jest [0 0 1]) w formacie fxp8.8 (precyzja wydaje mi się wystarczająca, ale można zmienić w razie czego). Parametry dla atari podaje się w formatach:
- skala - wektor w formacie fxp8.8
- przesunięcie - wektor w formacie fxp16.0
- rotacja - skalar w formacie fxp10.6 (stopnie - wyciągana jest reszta z dzielenia przez 360 więc dozwolone są dowolne wartości)
- pochylenie - wektor w formacie fxp8.8
Przykładowy shot z fontem TSCR.CHR z emulatora:
http://mono.i-demo.pl/a8tscr3.png
Transformacje, które kolejno są wykonywane to:
1. skalowanie 1.5,1.5
2. translacja 150,20
3. rotacja 30 deg
4. translacja -150,-20
5. translacja 30,70
6. pochylenie -0.5,0.125
Punkty 2+3+4 dają obrót o 30 stopni zaczepiony w punkcie 150,20.
Sinus jeszcze jest tablicowany, ale wkrótce będzie liczony...
Aha - dorobiłem wyjście do dos po wciśnięciu dowolnego klawisza ;)
No i ekran jest tylko wycinkiem większej całości - kompletne obliczenia prowadzone są na .w więc malowany tekst prędko się nie zawinie.
Źródła (java) są dostępne tu: http://mono.i-demo.pl/chrdraw5-src.zip ; atari tu: http://mono.i-demo.pl/chrdraw5.asx .

2,868

(16 odpowiedzi, napisanych Bałagan)

Ewentualnie tac - ale to dla ekscentryków.

2,869

(48 odpowiedzi, napisanych Fabryka - 8bit)

Bardzo ładne. Warto to pociągnąć dalej.

2,870

(17 odpowiedzi, napisanych Programowanie - 8 bit)

Hmmm. Ale wydaje mi się, że 20 lat temu w czasach działalności Avalonu (poprzez artykuły w Tajemnicach Atari) właśnie starano się gruntować poprawne nawyki wśród programistów: umiejętności przedłużania wektorów systemowych i korzystania z nich, wychodzenie do dosa, współdzielenie pamięci i zasobów przez programy, pisanie nakładek, handlerów cio itp.

Z inicjalizacją urządzenia E: to jednak mam mieszane uczucia. Bo jeśli ustawiamy wektor dlisty to można go przywrócić. Otwarcie E: jest niezbędne gdy robimy coś w pamięci ekranu i dlisty (choć i tak lepiej chyba zachować ten obszar chwilowo i przywrócić przed wyjściem do DOSa), ale jakoś dziwnie by to wyglądało gdyby po inicjalizacji zwykłej nakładki ekran został zresetowany - po skoku do DOSVEC chyba raczej DOS tego nie robi, a robi raczej przy inicjalizacji po RESET.

Co do wyjścia przez rts - chyba jednak preferowałbym jmp ($a), bo nigdy nie ma pewności z czego odpalany jest program i czy adres powrotu leży na stosie. Nawet zdaje się taki JBW COMmander instaluje się w pamięci przechwytując m.in. wektor DOS i nie każe aplikacjom bazować na powrotach przez rts.

2,871

(17 odpowiedzi, napisanych Programowanie - 8 bit)

A JBW nie zalecał przypadkiem jmp (dosvec) czyli jmp ($a), jako poprawnego wyjścia do dos? Bo jeśli program inicjalizuje sobie wskaźnik stosu przez ldx #$ff, txs, albo przekręci się on w trakcie działania (np. dzięki za gęstym przerwaniom) to rts pójdzie w maliny.

2,872

(23 odpowiedzi, napisanych Bałagan)

Ja też byłbym zainteresowany.

2,873

(25 odpowiedzi, napisanych Programowanie - 8 bit)

Tak. Na pewno działa dla Sparta DOS 3.2d (ścieżka np. "D1:KAT1>KAT2>PLIK.EXT"). Nie wiem jak jest w SDX i MyDOS, ale nie sądzę żeby było inaczej.

2,874

(25 odpowiedzi, napisanych Programowanie - 8 bit)

Jeśli chodzi o rozmiar pliku na dyskietce to nie ma tu żadnych ograniczeń prócz fizycznych możliwości nośnika.
Program ładujący do kolejnych banków może wyglądać np tak (wyjęty z jakiegoś mojego kodu i zmodyfikowany, ale nie przetestowany):

load equ *
  ldx #$10
  lda #4    ;read
  sta icaux1,x
  lda #3    ;open
  sta iccmd,x
  lda <filename
  sta icbufa,x
  lda >filename
  sta icbufa+1,x
  lda #filenamelength
  sta icbufl,x
  lda #0
  sta icbufl+1,x
  jsr ciov
  bmi err
  
  ldy #0
  sty bankindex
loadloop equ *
  lda banks,y
  sta portb
  ;zaladowanie bloku do banku
  lda #4   ;read
  sta icaux1,x
  lda #7    ;getbyte
  sta iccmd,x
  lda <$4000
  sta icbufa,x
  lda >$4000
  sta icbufa+1,x
  lda <$4000
  sta icbufl,x
  lda >$4000
  sta icbufl+1,x
  jsr ciov
  bmi doclose

  inc bankindex
  ldy bankindex
  cpy #bankscount
  bcc loadloop
  
doclose equ *
  php

  ;na końcu włączamy podstawowy bank
  lda #$ff
  sta portb

  lda #12    ;close
  sta iccmd,x
  jsr ciov
  plp
err equ *
  rts

filename dta c'D1:DOWOL.DTA'
filenamelength equ *-filename

;tu są wartości dla portb włączające odpowiednie banki - system powinien być włączony!
banks dta b($c3),b($c7)
bankscount equ *-banks

To Ci pozwoli ładować strumieniowo plik (nie musisz go dzielić fizycznie na ileś tam plików, bo nie ma takiej potrzeby) do kilku banków zdefiniowanych w tablicy banks.
Na wyjściu w Y masz kod błędu, rejestr F nienaruszony w tym sensie, że po jsr load możesz zrobić bmi obsługabłędu.

2,875

(40 odpowiedzi, napisanych Programowanie - 8 bit)

Dorobiłem skalowanie czcionek.
Sposób wywołania aplikacji java (http://mono.i-demo.pl/chrdraw4.jar ):
$ java -jar chrdraw4.jar font skala tekst
skala domyślnie 1, tekst domyślnie "Quick brown fox jumps over lazy dog."
Aplikacja na atari (http://mono.i-demo.pl/chrdraw4.atr ) ma ustawiony współczynnik skalowania na 2.0 (współczynnik można ustawiać w źródle w formacie fxp8.8).
Przy okazji okazało się jak działa "Easy fonts" - bardzo prymitywny, a goście za to chcą 90EUR ech.
Widać też jak są skonstruowane pozostałe fonty (borlandowe i lcd).
Niżej parę screenshotów z atari.

Comic Sans MS:
http://mono.i-demo.pl/a8coms2.png

Gothic:
http://mono.i-demo.pl/a8goth2.png

LCDL:
http://mono.i-demo.pl/a8lcdl2.png

Symbol:
http://mono.i-demo.pl/a8symb2.png

Trip:
http://mono.i-demo.pl/a8trip2.png

Źródła (java) są dostępne tu: http://mono.i-demo.pl/chrdraw4-src.zip ; za to (atari) są tu: http://mono.i-demo.pl/chrdraw4.asx .