Hledat
Přihlásit se
  • Věda a technika
  • Herní doupě
  • Tipy pro PC
  • IT Byznys
  • Mobily
  • Počítače
  • Počítače
  • Témata
  • Poradna
  • Diskuzní fórum
  • Video
  • Bazar
  • Blogy
  • MĚŘENÍ RYCHLOSTI
  • RSS
  • Facebook Twitter Google+ YouTube
  • Hardware
  • Software
  • Počítače
  • Notebooky
  • Služby na webu
  • Apple
  • Google
  • Microsoft
  • Seznam
  • Tiskové zprávy
Další témata
  • Týden Živě
  • Zprávy Živě
  • Testy
  • Pitvy
Všechna videa
X

Doporučit článek

Vaše jméno:

Váš e-mail:

E-mail adresáta:

Komentář:

kontrolní kód

Odeslat

Blogy Živě » Switch2Mac

Switch2Mac

Nikdy jsem si Mac a OS X příliš neidealizoval, oslavné tirády na něj mne iritovaly, dlouhodobé zkoušení hacknutého systému na normálním PC příliš nepřesvědčilo. Ale jako zastánce dnes již překonaného názoru, že pokud něco chci kritizovat, musím to znát, jsem využil příjemné nabídky a koupil si Mac Mini. Jak můj souboj s tím maličkým kvádrem „Assembled in China“ dopadne? Uvidíme…:-)
 

Programování na Atari

20. 4. 2010, pavt

Když dnes zatoužíte poprat se s s tím někdy až poněkud sarkastickým kvádříkem, který na vás potměšile mrká diodou (jako by tím spiklenecky připomínal starou pravdu, že v každém programu je aspoň  jedna chyba…), máte na výběr mnoho různých programovacích nástrojů, které lze použít, abyste si to s mašinou “rozdali na férovku” ve dvaatřiceti či čtyřiašedesáti bitech. Můžete volit dle libosti, i když, upřímně řečeno, pokud nehodláte dělat nějaké programy buď extrémně náročné, či super specifické, tak je v podstatě jedno, v čem se do tvorby pustíte. Na mém prvním počítači, osmibitovém Atari 800XL, mnoho možností nebylo. Ovšem na druhé straně na ono programování rád s nostalgií vzpomínám. Bylo totiž krásné. Nevím, zda se pojem krása dá s činností tak neduchovní a “nehumanistickou” spojovat, ovšem navzdory těmto pochybám to tak dodnes vidím…

Tato část seriálu o historii mikropočítačů bude velmi specifická. V podstatě se nám technické okénko rozšíří na celý díl a nedojde ani na Jana Tleskače… Proto ti, kterým vlastní technika není blízká a různé finesy je nezajímají, budou asi zklamáni, nicméně věšet hlavy nemusí. Chystám i další “normální” díly, například o Xeroxu Alto, takže vás už nečeká jen a jen ťukání nezáživných příkazů, přesvědčující emulátory našich dávno mrtvých miláčků, aby předvedly grafické triky, za něž by se dnes styděl nejeden smartphone…

Nebojte, nepůjdeme bůhvíjak do hloubky. Jednak na to není prostor, asi by to ani nikoho zas tak moc nezajímalo, kromě toho jsem stejně většinu už zapomněl a mnohé ani nikdy nezvládl. Pro opravdové zájemce doporučuji literaturu z odkazů na konci dílu.

Zkrátka, berte prosím tyto mé řádky jako decentní snahu představit vám některé triky s grafikou na Atari a velmi velmi decentní srovnání s programováním na C64 - což vzhledem k délce tohoto textu provedeme v příští části (bude-li zájem). Snad se vám díl bude líbit.

Ještě před tím, než si s Atari začneme hrát, je třeba je nejprve nějakým způsobem získat. Pro OS X existuje skvělý emulátor Atari800MacX, který si můžete stáhnout z adresy http://www.atarimac.com, na Win je výborný Atari800Win Plus 4.0, stáhnutelný z http://www.a800win.atari-area.prv.pl. Verze pro OS X je výrazně lepší než cokoliv pod Win - umožňuje např.kopírování z clipboardu na Atari, což se mi v rámci psaní tohoto článku velmi hodilo.

Abyste se s příklady nemuseli ťukat, připravil jsem obraz diskety, stejně jako nutné ROM. Pro nahrání programu v Basicu musíte napsat:

LOAD “D:název programu”

- Zde je tedy ona slibovaná disketa. Vzhledem k bezpečnostním pravidlům jsem se musel uchýlit ke triku a místo přípony zip použít jpg. Nejedná se tedy o obrázek, ani o nějaký vir, soubor si stáhněte do počítače do adresáře s emulátorem a rozbalte jej, jméno je MYDOS45D.ATR, jedná se v podstatě o disketu s operačním systémem, na níž jsem nahrál své výtvory. Bohužel jsem zjistil, že některé prohlížeče (Opera) znemožňují její stažení, musíte použít IE či Safari. Omlouvám se…

Výpis programu v Basicu je příkazem LIST, spuštění RUN. Pokud si šipkami vyjedete do vypsaného programu, není problém řádek editovat přepsáním a zmáčknutím Enter…

Disketu musíte do obou emulátorů nejprve vložit. Na OS X verzi se vám objeví dole jednoduchý panel, Win emulátor má na to položku v menu. Dále upozorňuji na rozdíl mezi Warmreset a Coldreset. Ten první reset je vlastně pouze emulace spuštění tlačítka reset, hodí se v situaci, kdy program pozměníte tak, že se počítač zasekne. V drtivé většině případů se objeví opět úvodní obrazovka a program zůstane v paměti.

Pokud se ale pustíte do opravdu rozsáhlých experimentů, možná budete potřebovat studený start, tedy emulaci vypnutí a zapnutí počítače, kdy z jistých logických důvodů program už v paměti nebude…

V případě obzvláštního zalíbení v experimentování si program můžete i uložit příkazem:

SAVE “D:název programu”

Tolik k nezbytnému úvodu, jdeme na to…

Již v předcházejících dílech seriálů jsme se několikrát zmínili o tom, že Atari bylo prvním počítačem se zákaznickými čipy, tedy s koncepcí koprocesorů, které hlavnímu mikroprocesoru výrazně ulehčovaly práci. V podstatě se Atari stalo prvním domácím počítačem s grafickým a zvukovým koprocesorem. Tato koncepce nám dnes připadá samozřejmá, každý z nás má v počítači speciální mikroprocesor na práci s grafikou, ovšem dříve to vůbec nebylo běžné.

V Atari se o zobrazování staraly celkem 2 procesory, a to čipy ANTIC a GTIA. ANTIC sestavoval vlastní vzhled obrazovky dle “programu” nazývaného display list, který přesně popisoval, jak má obrazovka vypadat, jaké grafické módy na ní mají být použity, jaké přerušení či scrollovaní se má na té které řídce provádět a kde je umístěna obrazová paměť. ANTIC tedy měl schopnosti (například zobrazení několika různých grafických režimů na obrazovce zároveň), které nezvládají ani dnešní výkonné grafické karty. Tím samozřejmě není řečeno, že byl ANTIC nějaký lepší, to ani omylem – dnes by nám totiž taková funkcionalita byla celkem k ničemu, proto není implementována. Nicméně snad už jen fakt, že tento přes třicet let starý čip uměl něco, co dnes není běžné, by měl všechny posměváčky přimět k poněkud uctivějšímu přístupu k těmto dávným legendám. Určitě si to zaslouží.

GTIA, druhý z čipů Atari, měl na starost správu barevných informací (tedy barvových registrů) a především tzv. player-missile graphics, což byly sprity. O co se přesně jednalo si v jedné jednoduché ukázce také předvedeme. Rád bych decentně připomenul, že ani sprity dnešní hardware neumí…

Třetí, co je potřeba vědět, je fakt, že mikroprocesor Atari, legendární MOS 6502 měl celkem tři registry - A, X a Y. My v ukázkách použijeme pouze dva. Procesor nebyl ortogonální, tedy některé funkce šly provádět pouze s některým registrem. Konkrétně instrukce PHA, tedy ulož hodnotu Accumulatoru A na stack, existovala pouze pro registr A. Pokud jste chtěli na stack uložit X, museli jste je nejprve přehodit do A funkcí TXA.

Laboruji tu s pojmy jako stack, registry atd. - tento díl nemá ani v nejmenším sloužit jako učebnice assambleru pro 6502! Pokud by se snad někomu zalíbily zmíněné ukázky a chtěl by si vyzkoušet něco dalšího, existuje spousta literatury, kterou lze načíst.

V prvním nejjednoduším programu se pokusíme o jediné-pomocí přerušení na jednom z rastrových řádků obrazu změnit barvu v barvovém registru. Ve výsledku budeme mít vrchní polovinu obrazovky v jiné barvě, než spodní polovinu. Po warmreset se obnoví původní stav, program v paměti zůstane.

Co je k tomu všemu potřeba udělat… Není toho zas tolik. Jednak, jak jsme si řekli, program na tvorbu obrazu se jmenuje display list. Nachází se někde v paměti RAM, přičemž jeho začátek zjistíme díky registrům paměti 560 a 561. V registru 560 je tzv. LO část adresy, v 561 HI část. Skutečná adresa se získává vzorcem LO+256*HI. Na této adrese tedy začíná display list. Na jeden z řádků (ne na první, tam jsou jisté neviditelné řádky, pak adresa videopaměti…detaily v literatuře) tedy zapíšeme hodnotu takovou, která zapne tzv.display list interrupt, neboli vyvolá přerušení, kterým CPU skočí na přesně definovanou adresu a vykoná nějaký kód. Toto se dosahuje pomocí sepnutí sedmého bitu, tedy přičtením k aktuální hodnotě 128 (tím zapneme sedmý bit, cca 3.hodina programování pro mateřské školy:-)

No, tím to ale nekončí. Jednak musíme nějak do paměti dostat náš program ve strojovém kódu, a ten také musí nějak vypadat, že. Tak jdeme na to.

Program v assembleru vypadá takto:

WSYNC = $D40A
COLPF2 = $D018 ;Barva pozadí
PHA ;Uložit hodnotu Accumulatoru do stacku
LDA #$42 ;Do accumulatoru se zapíše hodnota barvy
STA WSYNC ;Zápisem do tohoto registru se počká na vertikální synchronizaci
STA COLPF2 ;Do barvového registru se zapíše nová barevná hodnota
PLA ;Obnoví se Accumulator
RTI ;Návrat z přerušení

Ty dvě první hodnoty jsou skutečné adresy v paměti, kam se zapisuje. Jsou pevně dané a nemusí nás příliš zajímat, prostě to tak je a hotovo…

Při obsluze přerušení musíme nejprve uložit aktuální hodnotu registrů, se kterými budeme pracovat, na zásobník (stack), no a na konci je zase musíme obnovit. Pokud bychom to neudělali, počítač by se zhroutil.

Příkazem PHA tedy uložíme hodnotu registru A na zásobník.

Následně do registru A zapíšeme hodnotu barvy, na kterou chceme, aby se nám obrazovka změnila. Je vcelku jedno, jakou použijeme, můžete experimentovat. Instrukce LDA je ono načtení hodnoty do A.

Následně zapíšeme jakékoliv číslo do registru WSYNC. To je z toho důvodu, aby mikroprocesor nejprve počkal na chvíli, kdy se nevykresluje žádná řádka a dochází k tzv. horizontální synchronizaci, tedy elektronický paprsek se přesouvá z jednoho okraje obrazovky na druhý. Právě v této chvíli je ideální zapsat novou hodnotu barvy do barvového registru, což se dělá následující instrukcí STA COLPF2.

No a pak už jen PLA (obnoví se A ze stacku) a RTI (návrat z přerušení)

Skvělé. Máme kód přerušení, ten ale musíme někam uložit do paměti. V našem prográmku to provádí rutina řádku od 20000 a program je ukládán do paměti RAM začínající na 1536, která je nevyužívaná Basicem a tudíž nám k dispozici.

Program jsme vložili, ale ještě nejsme u konce. Nejprve je třeba na adresy 512 a 513 vložit začátek naší rutiny obsluhy přerušení (to je prováděno na řádcích 40 a 50, přičemž se jedná o 6 stránku paměti, proto ta šestka - 1536=6*256). No a nakonec je třeba povolit přerušení na adrese 54286. Finíto:-)

Pokud si program spustíte, budete asi překvapení nejen zbarvením obrazovky, to jste asi čekali, ale faktem, že vše běží na pozadí, můžete editovat program atd., a změna stále trvá. To je právě ono kouzlo přerušení…

Pokud si chcete změnit barvu, zadejte jinou hodnotu místo čísla 66 v prvním řádku dat.

Z diskety program nahrajeme příkazem LOAD “D:DLIST”.

10 GOSUB 20000
40 POKE 512,0
50 POKE 513,6
60 DL=PEEK(560)+256*PEEK(561)
70 POKE DL+12,PEEK(DL+12)+128
80 POKE 54286,192
90 END
20000 FOR I=1 TO 11
20020 READ A
20030 POKE 1535+I,A
20040 NEXT I:RETURN
20050 DATA 72,169,66,141,10,212,141,24,208,104
20060 DATA 64

Ty zvláštní čísla v datech jsou vlastně kódy jednotlivých assemblerovských instrukcí - 72=PHA, 169=LDA, 141=STA, 64=RTI atd. Není problém si je načíst v literatuře…

První hrátky s display listem

První hrátky s display listem

Tak co, líbil se experiment? Máte chuť do dalších pokusů?:-)

Druhý prográmek je principiálně stejný, pouze si tentokrát změníme barvu více řádek a uděláme pro Atari typický barevný přechod. A ještě jej uděláme animovaný-budete asi překvapeni, jak je to jednoduché. Je to paradoxně mnohem jednoduší než na dnešních kartách se 24bitovou grafikou. Tam byste museli obrazovku neustále překreslovat, na Atari stačí měnit barvové registry. Také se tomu říkalo animace za pomocí změny barvových registrů.

Princip je stejný, jen je třeba nastavit onen sedmý bit v display listu na více řádcích (v tomto prográmku to řeším prostým zápisem hodnoty 130, protože se jedná o 2(tedy kód pro standardní textový režim)+128(bit pro přerušení)

Ve vlastním programu se nic víc nemění (vypadá sice jinak, ale princip je fakt stejný), ovšem rutina je jiná. Podobnou jsem kdysi používal před dvaceti lety.

Tentokrát budeme pracovat s registry A i X, proto je třeba uložit je oba. Změníme nejen barvy pozadí, ale i barvu písma, proto budeme zapisovat do dvou barvových registrů. Jako pomocnou budeme používat paměť na 203 - zde je několik volných systémem nevyužívaných bytů. Zapisovat si sem průběžné hodnoty není žádný problém - toto nejsou Windows či Mac, ochrana paměti neexistuje, můžete zapisovat kamkoliv se vám zachce, následky si ovšem nesete…

Do barvového registru se vloží barva z X, inkrementovaná o jedničku. Při každém dalším spuštění rutiny, tedy na každém řádku, ze tento prográmek spouští, čímž dochází k neustálé inkrementaci X a posunu barev.

Z diskety program nahrajeme příkazem LOAD “D:DLIST2″.

COLBK .EQ $DO1A
COLPF2 .EQ $D018
WSYNC .EQ $D40A
PHA ;Uložit Accumulator a X registr
TXA
PHA ;Uložit X registr
LDA #$52 ;Do Accumulatoru se vloží barva pro znaky
LDX #203 ;Do X se vloží barva z volné paměti na adrese 203
INX ;X se inkrementuje
STX #203 ;inkrementované X se vloží do 203
STA WSYNC ;čekáme na vertikální synchronizaci
STX COLBK ; ;nyní vkládáme barvy
STA COLPF2
PLA
TAX
PLA ;obnovení původních hodnot A a X ze stacku
RTI

10 DL=PEEK(560)+256*PEEK(561)
20 FOR I=6 TO 20:POKE DL+I,130:NEXT I
30 FOR I=0 TO 22
40 READ A:POKE 1536+I,A:NEXT I
50 POKE 512,0:POKE 513,6
60 POKE 54286,192
70 DATA 72,138,72,169,99,166,203,232
75 DATA 134,203
80 DATA 141,10,212,141,26,208
90 DATA 142,24,208,104,170,104,64

Duha se ve skutečnosti hejbe...fakt...vyzkoušejte...:-)

Duha se ve skutečnosti hejbe…fakt…vyzkoušejte…:-)

Předchozí oba programy měnily barvy v textovém režimu - jak jste si jistě všimli, rastrovou řádkou je tu celá výška textového řádku. Nyní si vyzkoušíme změnu barev v grafickém režimu.

Princip je opět podobný tomu předchozímu postupu, zjištění a změna display listu, zapínání přerušení, pořád to samé. Je tu ale zásadní rozdíl - nyní jsou barvy uloženy v RAM na adresách od 1570, kde je sice v programu opět vytvořena tradiční duha, ale pokud by byl zájem, mohli byste tam vytvořit cokoliv by se vám zalíbilo. Jako čítač je tu použita adresa COUNTR, která leží na 1568, tedy těsně pod tou tabulkou barev, no a příkazem LDA 1576,X se postupně s inkrementováním X načítají barvy z tabulky, aby se pomocí STA COLBAK vložily do barvového registru. Poté následuje vynulování čítače v okamžiku, kdy je přerušení na poslední řádce. Pokud byste chtěli opět vytvořit animaci, tedy postupnou rotaci “duhy”, změnte číslo 79 na řádku 100 třeba na 80. Je ale třeba nastavit v emulátoru “Limit speed”, aby emulovaná rychlost odpovídala Atari, jinak místo plynulé rotace uvidíte zběsilé blikání - emulované Atari je zkrátka moc rychlé:-))

Tento prográmek se jmenuje DLIST3 a nahraje se stejným způsobem, jako předchozí.

PHA
TXA
PHA
INC COUNTR Inkrementace čítače, který je na adrese 1536+32
LDX COUNTR Uložení čítače do X
LDA 1576,X Zde je umístěna tabulka barev
STA WSYNC Čekání na synchronizaci
STA COLBAK Uložení do barvového registru
CPX #$4F Zjištění, zda se jedná o poslední řádek
BNE ENDDLI Pokud ne, tak konec
LDA #$00 Pokud ano, vynulování čítače
STA COUNTR
ENDDLI PLA
TAX
PLA Obnovéní registrů
RTI

10 GRAPHICS 7
20 DLIST=PEEK(560)+256*PEEK(561)
30 FOR J=6 TO 84
40 POKE DLIST+J,141
50 NEXT J
60 FOR J=0 TO 30
70 READ A:POKE 1536+J,A:NEXTJ
80 DATA 72,138,72,238,32,6,175,32,6
90 DATA 189,40,6,141,10,212,141,26,208
100 DATA 224,79,208,5,169,0
110 DATA 141,32,6,104,170,104,64
120 POKE 512,0:POKE 513,6
125 POKE 1568,0
130 POKE 54286,192
140 FOR J=0 TO 80
150 POKE 1576+J,J

Klasická atarácká duha...

Klasická atarácká duha…

Z diskety lze nahrát i program DLIST4, který je v podstatě stejný, jen je použit grafický mód 15, který nabízí nejjemnější řádkování, které Atari zná. Jinak je program identický, proto jej neuvádím…

Tajuplný skrytý program...:-)

Tajuplný skrytý program…:-)

Další ukázka velmi primitivně předvádí scrollování jak vertikální, tak horizontální. K tomu mělo Atari dva speciální řídící registry HSCROLL a VSCROLL. Pokud jste do těchto registrů zapsali hodnoty 0-15, posunuly se o příslušný počet bodů řádky display listu, na nichž byl nastaven bit scrollování. Pochopitelně, v případě rozsáhlých posunů bylo nutné dodávat nové a nové data do míst, odkud se scrollovalo, aby jaksi bylo co scrollovat. To v této ukázce neřešíme.

Na řádcích 30 a 40 jsou pro dva řádky display listu nastaveny horizontální a vertikální scrollovací bity (jinými slovy, k standardní hodnotě 2 je přičteno 48, tedy 16+32). Pak už se jen mění hodnota ve scrollovacích registrech a v případě zkrácení zpomalovací smyčky je scrolling vcelku dost rychlý.

Program se na disku jmenuje SCROLL.

1 HSCROL=54276
2 VSCROL=54277
10 GRAPHICS 0:LIST
20 DLIST=PEEK(560)+256*PEEK(561)
30 POKE DLIST+10,50:REM Enable both scrolls
40 POKE DLIST+11,50:REM Do it for two mode lines
50 FOR Y=O TO 7
60 POKE VSCROL,Y:REM Vertical scroll
70 GOSUB 200:REM Delay
80 NEXT Y
90 FOR X=0 TO 15
100 POKE HSCROL,X:REM Horizontal scroll
110 GOSUB 200:REM Delay
120 NEXT X
130 GOTO 40
200 FOR J=1 TO 100
210 NEXT J:RETURN

Poslední ukázkou je předvedení spritů. Jedná se opět o velmi primitivní záležitost, nečekejte zázraky. Na disku se program jmenuje PMG.

Program jsem převzal z literatury, jak ostatně je vidět z komentářů, které jsou dostatečně vysvětlující. V podstatě je pro používání spritů nejprve nutno specifikovat paměť, kterou budou používat. To se v předváděné ukázce zajišťuje snížení registru RAMTOP, tedy nejvyšší volné stránky paměti. Player missile graphics potřebuje celkem 2Kb, Každý “hráč” zabere celkem 128bytů RAM (závisí na zvoleném módu, to nebudeme řešit). Pro hráče 0 se užívaná paměť nachází v oblasti PMBASE+512 do PMBASE+640. Hráč na Atari je v podstatě souvislý sloupec přes celou obrazovku, široký 8 bodů, s jednou barvou, přičemž barevný registr pro hráče 0 je 704. Pro zapnutí spritů je třeba nastavit registr PMBASE, říkající, kde jsou obrazová data, zapnout DMA pro sprity v registru 559 a zapnout v GTIA ovládacím registru příslušný registr GRACTL. Následně je třeba nastavit horizontální pozici spritu v registru HPOSP0, zatímco vertikální pozice se určuje změnou v bloku grafických dat. No a pak už stačí jen nastavit barvu v registru 704 a můžeme vyrazit… Jak jste si jistě všimli, veškerá smyčka pohybujícího se letadýlka (letí pozadu…:-) je na řádcích 190 a 200, o žádné překreslování pozadí netřeba se starat…

Program se jmenuje PMG, na disku je i PMG2, kde jsem předvedl vytvoření dvou různě barevných spritů z jednoho pomocí techniky popisované hned v prvním příkladu - assemblerová rutina je úplně stejná, jen se zapisuje do jiného barvového registru…

1   PMBASE=54279:REM                       Player-missile base pointer
2   RAMTOP=106:REM                         OS top of RAM pointer
3   SDMCTL=559:REM                         RAM shadow of DMACTL register
4   GRACTL=53277:REM                       CTIA graphics control register
5   HPOSP0=53248:REM                       Horizontal position of P0
6   PCOLR0=704:REM                         Shadow of player 0 color
10  GRAPHICS 0: SETCOLOR 2,0,0:LIST
20  X=0:REM                                BASIC’s player horizontal position
30  Y=48:REM                               BASIC’s player vertical position
40  A=PEEK(RAMTOP)-8:REM                   Get RAM 2K below top of RAM
50  POKE PMBASE,A:REM                      Tell ANTIC where PM RAM is
60  MYPMBASE=256*A:REM                     Keep track of PM RAM address
70  POKE SDMCTL,46:REM                     Enable PM DMA with 2-line res
80  POKE GRACTL,3:REM                      Enable PM display
90  POKE HPOSP0,100:REM                    Declare horizontal position
100 FOR I=MYPMBASE+512 TO MYPMBASE+640:REM this loop clears player
110 POKE I,0
120 NEXT I
130 FOR I=MYPMBASE+512+Y TO MYPMBASE+518+Y
140 READ A:REM                             This loop draws the player
150 POKE I,A
160 NEXT I
170 DATA 8,17,35,255,32,16,8
180 POKE PCOLR0,88:REM                     Make the player pink
190 FOR X = 200 TO 0 STEP-1:POKE POKE HPOSP0,X: NEXT X
200 GOTO 190

Letadélka letící pozpátku

Letadélka letící pozpátku

Tyto programy si samozřejmě nekladly za cíl naučit vás programovat na Atari. Snažil jsem se je udělat jednoduché a srozumitelné, nicméně pokud chcete víc, je třeba vše nastudovat. Dnes na internetu není problém nalézt spoustu literatury - jak by nám jen ušetřila čas, mít ji za mladých let k dispozici! Když si uvědomím, že jsem triky s display listem zkoumal pomocí disassemblingu kódu her, protože pořádná literatura u nás za komunismu neexistovala…

Zkrátka, pokud si opravdu chcete pohrát s Atari, prostudujte si například knížky na stránce http://www.atariarchives.org/, kde je k dispozici vše potřebné. Z ukázek v těchto knížkách jsem vycházel i já, protože vydolovat programy z děravé paměti už bylo nemožné.

No a ti, kterým programování na Atari nepřipadá být zrovna zábavné, nechť k emulátoru připojí joysticky a zavzpomínají. Možná je to i mnohem lepší nápad, než se mořit s literaturou:-)


Publikováno v rubrice Stručná historie mikropočítačů. Reakce v diskuzi lze sledovat prostřednictvím RSS 2.0. Můžete přidat komentář, nebo se na článek odkázat ze svého webu.

« Apple Script - think really different
Na OS X nemáte Total Commander »
 

Komentáře v diskuzi

1.  Petr(90.178.22.xxx)   20. 4. 2010, 22:30

Moc pěkný… To byly doby, kdy donutit takový mašinky (ale i ty sálový) udělat něco složitějšího byl opravdu kumšt. A nemyslím jen takováto dema, ale zkuste si alespoň představit jak byste třeba v takovémto asembleru implementovali aritmetiku a pohyblivé řádové čárce…

Jo, dnešní mlaďoši to mají v mnohém usnadněné - dnes je to opravdu z 99% o pojídání koláčů.

2.  Jirka(62.177.110.xxx)   21. 4. 2010, 16:21

6502 byl super procák, na Atari 800XL jsme pár věcí ve strojáku napsal (programátor EEPROM, driver pro 5,25″ FDD,..), měl sice pár registrů, ale božskou filozofii a byl tak lepší jak registry přeplácaná 8080/Z80, rychlost byla taky super 1instrukce = 1-2 strojové cykly tj. 1-2 takty hodin. Taky byla dobrá možnost práce - přímé adresování nulté 256bytové stránky.

3.  Dan Dvořák(83.208.176.xxx)   23. 4. 2010, 21:19

Pozoruhodné, připomělo mi to doby dávno minulé, kdy jsem na svém C64 s pomocí final cartridge II dobýval různá dema, hry, vykrádal z nich co se dalo a vytvářel svoje demka a programy jen tak pro radost. To byl kumšt, něco udělat, všechno ve strojáku, xxx řádků jen aby to něco udělalo, no mazec. Jen škoda, že jsem se tomu dále nevěnoval a zajímal se jen o HW… kde bych dneska byl ;). No, už je to víc jak 15 let zpět.

Každopádně, v těch dobách sme majitelé C64 a Atárek 800 XL spolu soupeřili, kdo má lepší mašinu ;). Dnes, po xxx letech si troufnu říct, že lepší byl C64….

4.  Nic0las(213.81.201.xxx)   28. 4. 2010, 13:20

C64 malo akurat tak lepsi zvuk (SID je proste uzasny a dodnes ho C64ke zavidim), ale tam to asi aj konci. Atari malo 256 farieb (C64 len 16), rychlejsi procesor (bolo to aj vidno na niektorych hrach) a display list na Atari bola najuzasnejsia vec aku som spoznal pocas mojej programatorskej kariery :)

5.  krupkaj(193.86.76.xxx)   4. 5. 2010, 08:48

peknej clanek! Tesim se na dalsi :)

6.  viktor(188.167.49.xxx)   4. 5. 2010, 13:14

ja sa momentalne drtim turbo basic, obcas nazriem aj do atari assembleru, ale nie a nie sa pohnut dalej :(

7.  Programovanie na Atari | Atari 800 XE(217.67.31.xxx)   4. 5. 2010, 17:31

[...] Na portali zive.cz sa objavil perfektny clanok o programovani na Atari. [...]

8.  Vlada(90.177.112.xxx)   5. 5. 2010, 22:55

Super clanek! Pro nostalgiky, kteri by chteli programovat na Atarku, literatura v cestine je na atari8.cz/calp

9.  John(217.168.215.xxx)   6. 5. 2010, 15:48

Tak by mne zajímalo kde je ta disketa s těma programama?? Jinak super, a propo pro večný souboj Atari VS C64. Graficky pro hry má lepší možnosti C64, sice nedokáže zobrazit 256 barev,ale 16 a to kdekoliv, atari bohužel jen 5 na jeden řádek a to s obtížema…teda programovacím znalectvím….i tak mam radši ATARI :D

10.  pavt(ověřeno)   6. 5. 2010, 17:36

Disketa s programy byla velkým problémem, připojil jsem ji jako jpg soubor, abych “obešel” kontrolu na Živě, bohužel, v některých prohlížečích (Opera) se tento “fake jpg” vůbec neobjeví ani jako ikona. Je třeba použít Safari, nebo IE - objeví se vám to jako prázdný rámeček neexistujícího obrázku, ten stáhněte na disk. Za komplikace se omlouvám, ale bohužel, nic chytřejšího mne nenapadlo… Pokud někdo ví, jak to udělat lépe, dám si rád poradit…

11.  viktor(91.148.6.xxx)   8. 5. 2010, 10:49

@pavt - preco pises o jpg a o prehliadacoch? aky to ma suvis s atr obrazom? :)

12.  Jirka(217.112.165.xxx)   22. 6. 2010, 11:37

Potřeboval bych poradit, jak se vyrobí ten ATR obraz disku, když chci několik souborů dát dokupy do takového “disku”. Konkrétní příklad - mám atarácký COMový soubor/program (na Macu) a potřeboval bych jej dostat na takovou tu ATR disketu, abych ji následně mohl dát na SD kartu a potom přes SIO2SD dostat do reálného Atari.

13.  ValerieFleming33(91.201.66.xxx)   23. 6. 2010, 04:04

That is good that people can receive the business loans and that opens up completely new opportunities.

14.  Berry(82.150.185.xxx)   23. 9. 2010, 08:27

Skvělé články, především z historie mikropočítačů, s autorem mám společnou zálibu v Atari strojích, bo jsem na 800 XE začínal a je fakt, že nic dalšího potom mne už tak nevzalo (možná STéčko). Díky za pěkné výlety do historie!

15.  coach stores(222.239.78.xxx)   15. 12. 2010, 04:52

Compared with people not to do, coach shoes but to surpass themselves, cry cry out tears of emotion, smiling to laughing to the character of growth

16.  viktor(91.148.19.xxx)   13. 3. 2011, 21:15

dobry,
skusal som si ten prvy priklad priamo v assemleri, program som zkompiloval do OBJ suboru a cez basic program v knizke som v basicu vydoloval z pamati data.. no zobrazilo mi ich len 9, cize dve posledne cisla v datach som uz nemal.. resp boli 0,0.. co som urobil zle?

17.  andy van caroll(188.95.53.xxx)   13. 12. 2011, 17:53

xlpharmacy
Jedným z prvých činov Tramiel po vytvorení Atari Corp bol na oheň väčšina ostatných zamestnancov Atari a zrušenie takmer všetkých prebiehajúcich projektov, aby prehodnotili svoju životaschopnosť. To bolo počas tejto doby na prelome júla / začiatkom augusta, že jeho zástupcovia objavili pôvodnej Amiga zmluvy, ktorá vyžaduje Amiga Corporation dodávať chipset Lorraine pre Atari 30. júna 1984. Amiga Corp hľadal ďalšie peňažné podporu od investorov na jar 1984 (medzi nimi Tramel Technology, ktorá chcela nahradiť takmer všetci na Amiga).

Přidat komentář

*
Opište prosím text z obrázku.
Anti-Spam Image


Aktuální články a bleskovky

Lenovo uvádí nové ThinkPady s čipy Ivy Bridge
Lenovo uvádí nové ThinkPady s čipy Ivy Bridge
Brýle Google Glass jsou patentované
Brýle Google Glass jsou patentované
Ifttt.com: Propojte a automatizujte svůj internet
Ifttt.com: Propojte a automatizujte svůj internet
Nejlepší programy pro práci s Wi-Fi
Nejlepší programy pro práci s Wi-Fi



Switch2Mac využívá WordPress MU a běží na Blog.zive.cz. Vytvořte si svůj vlastní blog
Sledování přes RSS: články a komentáře


  • Stránky

    • O autorovi
  • Archivy

    • Květen 2012
    • Duben 2012
    • Březen 2012
    • Únor 2012
    • Leden 2012
    • Prosinec 2011
    • Listopad 2011
    • Říjen 2011
    • Září 2011
    • Srpen 2011
    • Červenec 2011
    • Červen 2011
    • Květen 2011
    • Duben 2011
    • Březen 2011
    • Únor 2011
    • Leden 2011
    • Prosinec 2010
    • Listopad 2010
    • Říjen 2010
    • Září 2010
    • Srpen 2010
    • Červenec 2010
    • Červen 2010
    • Květen 2010
    • Duben 2010
    • Březen 2010
    • Únor 2010
    • Leden 2010
  • Rubriky

    • Nezařazené (2)
    • Programování (6)
    • První dojmy (15)
    • Stručná historie mikropočítačů (51)
    • Tipy a triky pro OS X (15)
  • Administrace

    • Přihlásit se

1210_Computer.png

Časopis Computer

  • Nakupujte v zahraničí
  • Test 7 čteček elektronických knih
  • Technologie: nové standardy digitálního vysílání
  • Přehled cloudových uložišť
  • Poradíme s výběrem kamery na dovolenou

Partnerská sekce pro IT profesionály:
Microsoft TechNet/MSDN


Video Živě

Bluetooth stojánky pro Android: Philips AS111, AS141 a AS351
Ifttt.com -- založení úkolu
Zprávy Živě - 12. května 2012
iPad docky Logitech AV Stand a Logitech Speaker Stand

další videa »






Mladá Fronta a.s. Mladá Fronta a.s.
Tiráž | Autoři | Připomínky | Odběr novinek | RSS | Textová verze
Copyright 2000–2012 Mladá fronta a.s. | Inzerce: onlinesales@mf.cz | Kontakt na redakci | Návštěvnost měří NetMonitor