Z detstvi si pamatuju, ze ty uplne prvni hry na atari byly jednoduche, par barev. Postupne se zacaly objevovat komplikovanejsi, barevnejsi, a kdyz jsem byl na stredni, to uz zacinaly PCcka, tak uz se objevily hodne barevne propracovane hry. A tehda mi vrtalo hlavou, jak je mozne ze z tak stareho pocitace postupne programatori dokazali vytriskat vic a vic.
Naučili se používat všechny triky, co stroj nabízel. Využít prakticky každý takt stroje a každého čipu aby byl užitečný a efektivní.
Dnes toho asi není možné dosáhnout, vše je příliš překomplikované, ale říkám si, jaké by to bylo, kdyby někdo vzal dnešní HW a dokázal něco optimalizovat tak perfektně, jako borci na Atárku.
Kdyby se dneska tlacilo na optimalizaci, to by byl zazrak. Jako protiklad lepsiho vyuzivani a optimalizaci Atarka mi slouzi mrvkosofti Word. Od te doby co ho pouzivam (musim pouzivat) je porad stejne pomaly/rychly. At uz to bylo v dobe Win95, WinXP, nebo ted, porad stejne pomalu startuje a stejne pomalu pracuje :)
to jsem si říkal v době, kdy přišlo Raspberry Pi. Ale vlastně to nikam nevedlo, možná to GPU bylo asi pro mnohé (včetně mě) překomplikované. Ale šance tam byla, už první RPi bylo teoreticky hodně výkonné.
Ačkoliv také žasnu, co se s tak malými stroji dokázalo a podobně mě to baví třeba na Arduinu, tak obecně ohledně PC nesouhlasím, resp. dovolím si jiný úhel pohledu stručně vyjádřený větou: "Však to doopravdy fakt nechcete."
Kolik lidi má Gentoo a kolik z nich má opravdu optimalizované ty předpisy na svůj konkrétní HW? A to jsme jen u toho nejjednoduššího, kdy celou práci za nás udělal někdo jiný při přípravě toho SW se všemi možnostmi - na nás je jen to použít, a ani to neděláme. Co teprve když ty možnosti SW ještě nemá? Budete platit ze své kapsy extra vývoj pro svůj HW a hlavně: roky čekat a do té doby nemít vůbec nic? A to není přehnané, tak to přeci právě na těch 8bitech bylo!
Jsou prostě věci a činnosti, které neškálují donekonečna. Ta optimalizace má dodnes smysl, a veliký, ale jen v některých oblastech (jak SW, tak HW) a je potřeba to nemíchat.
Na PC chceme univerzálnost, na malých strojích i dnes má smysl optimalizovat a strašně mě to baví. A ve volném čase si nostalgicky zablbnout s Atari, ze kterého se dalo "vymáčknout" mnohem víc než tušili jeho prodejci. Protože dejte kreativním lidem kousek dřívka - a nestačíte se divit :)
Mozny to je, ale tech kteri by to zvladli ubyva.
Tenkrat to delali lidi, jejihz motivaci nebylo to ze za to dostanou prachy, i kdyz za to treba placeni byli, ale primarne to delali pro svoje poteseni a mozna i tech par minut slavy ;D.
Soudobi patlalove typicky nemaj ani paru ani o zakladnich principech fungovani HW. A presne proto to vsechno vypada tak jak to vypada.
Vem si treba ...ze takova operace flashpoint, coz je rok 2001 ... se dala hrat v 64 lidech. Ano, melo to tenkrat neuveritelne naroky ... bylo treba aby tech 64 lidi bylo na !sdilenem, !simplexnim 10Mbitu. po modemu to davalo 32 lidi ....
A sme o 25 let dal, s HW radove vykonejsim, konektivitou ... a soudobi patlalove maj problem, s 8+ lidma ve hre. Ze prej to HW a sit neda ... lol.
BTW: Videl si nekdy 3D animaci na 286tce? A ano, bylo k tomu treba znat ten HW a vyuzivat podobny triky jako na tom atarku. V mnoha ohledech pritom to atarko melo vic moznosti nez ty PCcka.
Mě tehdy nejvíc fascinovaly dvě věci:
1. jak strašně nuzně a hrozně vypadala v té době (počátek 90. let) grafika na PC, ačkoliv to byla ta "veliká mocná PC" - a oproti mému maličkému Atari doma to byl děs běs.
2. co všechno z toho "vymáčkli" ještě mnohem později, až kolem roku 2000, další nadšenci. Z tehdy už dávno nepoužívané techniky... Doufám, že nekomolím tu jeho přezdívku, ale jeden z největších takových "bláznů" byl Raster z Čech, ne? Mrzí mě, že jsem ho nikdy nepoznal, dokud ještě žil.
jj příkladem je Alley Cat. Určitě to není na Atari graficky nejhezčí hra, ale to, co z toho udělali na PC... https://www.root.cz/clanky/vyvoj-her-a-grafickych-dem-pro-oslavovanou-i-nenavidenou-platformu-pc-vrazedna-kombinace-8088-a-cga/ (druhá kapitola)
Na PC z toho udělali, co v roce 1983 s CGA grafikou mohli udělat. O rok později, kdy byla k dispozici grafika EGA (použil by se 16barevný videorežim s rozlišením 320x200), by to dopadlo o hodně lépe. Možná i v neprospěch Atari.
mohli to udělat v šestnácti barvách. Ale to je jak píše MilanV: na atárku se HW nevyvíjel, takže později z toho existujícího HW programátoři vymlátili mnohem víc. Na PC se šlo přesně jak píšeš: "příště to naprogramujeme na ...GA" a málokdo se k CGA vracel (tedy kromě tohoto machra https://int10h.org/blog/2015/04/cga-in-1024-colors-new-mode-illustrated/)
To je mi divné, protože v roce 1990 už byly 3 roky k dispozici karty VGA, zvládající 320x200 v 256 barvách a také výborně vypadající hry.
Ano, v letech 1996-2002 přišli hlavně polští Ataristé s několika speciálními technikami jak zobrazit velký počet barev a zároveň rychle překreslovat obraz. Za cenu určitého zmenšení rozlišení. Příkladem jsou dema Asskicker nebo Numen.
Raster (Radek Štěrba) určitě psal v té době dema, ale nemyslím si, že by byla úplně zaměřená tímhle směrem. Jeho demotvorba je popsána na zrcadle jeho stránek.
U nás (ČSFR, potom ČR) se ještě docela dlouho prodávaly PC s Herculesama a EGA (CGA asi moc ne). VGAčka, to už byly onačejší stroje za více peněz (20000 atd. za 286 s 1MB a monitorem, ovšem tehdejších 20000 bylo někde jinde, než dnešních 20000 :-)
Co je myšlené tím "dlouho" ? Mám schované reklamy od firem AutoCont a ESCOM. Nejstarší jsou ze září a srpna 1993. I ty nejlevnější PC tam mají VGA s minimálně 0,5 MB VRAM.
Ono co se týká porevolučních PC tak jsem neviděl nic jiného než VGA a to včetně modelů 286. Zato jsem nějakou dobu vlastnil předrevoluční PC vyrobené u nás PP-06 což byl klon PC-XT s CGA grafikou ale to se vyrábělo ještě za ČSSR.
Ostatně i tady máte ceníky z roku 1992 a všechny mají VGA
https://www.cistepc.cz/kolik-staly-pocitace-v-roce-1992-nasel-jsem-ceniky/
8. 5. 2026, 05:37 editováno autorem komentáře
Klasicky došlo na to, že když dva tvrdí dvě různé věci, mohou mít pravdu oba - obzvlášť to platí pro historii a vzpomínky. Ano, toto byly skutečné stroje nabízené v té době, ale také (ne)skutečné ceny, za které se nabízely. Můj táta v té době bral kolem dvou tisíc, pro ilustraci.
Vedle toho naopak kvetl šedý dovoz ze Západu, odkud různí podnikavci vozili stroje vyřazené z tamních podniků jako zastaralé. Ty si lidi tady běžně kupovali, a proto ještě nějakou dobu neměli takovéto konfigurace "z reklamy".
Aspoň to jsou zase moje vzpomínky - jako "třetí do party" :)
8. 5. 2026, 09:28 editováno autorem komentáře
Mzdy tehdy rostly ohromně rychle. 2000 Kč (čistého ?) bylo za revoluce celkem běžné, ale už o 2-3 roky později by to byla skoro minimálka.
Vývoj průměrné nominální mzdy v letech 1989 - 2000
1989 3169
1990 3286
1991 3792
1992 4644
1993 5817
1994 6894
1995 8172
1996 9676
1997 10691
1998 11693
1999 12968
2000 13491
Jinak v letech 1990/1991 jsem neznal nikoho kdo měl doma PC. Atari, později Amigu a tak ano. PC jsem viděl v domácnostech až 386 a výše.
Urcite to bylo v te kriticke dobe 90 a 91, kdy vsichni touzili po PC a minimalne v nasem meste byly desitky obchodu s PC (do dneska nevydrzel nikdo). Zpetne videno to byl asi vyprodej pocitacu, ktere uz na zapade nikdo nechtel. Ale pamatuju moznost vybrat si XT s Herculesem (kupovaly se dost masivne do ceskych drah a vydrzely tam roky), AT s EGA a potom prisel konecne Escom s AT s VGA (Olivetti). Paralelne se zacaly nabizet i 386, ale to byly extremni ceny, co za to chteli.
Jinak treba to Olivetti (dobry pomer cena vykon), prodaval se model s VGA (resp. s necim, co se tvarilo jako VGA), bezna 256 kB (VGA vic nepotrebuje).
Pokud 2 roky je dlouho, tak ok. Mimochodem ČR vznikla v roce 1993. Pochybuji že v roce 1993 někdo kupoval XT jako nový z obchodu. I to moje PP-06 jsem získal koncem roku 1993 nebo v počátkem 1994 jako vyřazený z firmy kde pracoval můj otec protože pro firmu to bylo už na nic a tak stálo i s monitorem a tiskárnou asi 1500 Kč.
On tehdy byl dost rychlý vývoj. Švagr koupil někdy 92/93 386SX původně s jen 2 MB RAM za snad 40 000Kč. A já na podzim 1995 486DX2/80 MHz za 26 000 Kč.
Taky se vložím do debaty :-)
Píšete: "Pokud 2 roky je dlouho, tak ok." a potom odstavec "On tehdy byl dost rychlý vývoj..."
Tehdy skutečně dva roky znamenaly obměnu jedné generace PC (jinde to nebylo tak vidět, ale u PC ano). Dneska je to jinak - teď píšu na čtyři roky starém počítači a pokud vydrží mechanicky (což u USB-C pochybuju), tak by klidně další čtyři roky mohl vydržet. U nás na začátku 90 let to bylo jinak, to se dělával upgrade klidně každý rok nebo dva.
PS: ano, papírově je tady VGA někdy od roku 1987 a 386 od roku 1985. Ale do reálných PC se to začalo dávat až později (pro 386 dlouho nebyl důvod, možná později pro Doomaře, VGA brzdila potřeba upgradovat i monitory).
PPS: teď si přesně nevzpomenu proč, ale hodně lidí "potřebovalo" PC rozepsat do 10000 Kč (asi kvůli DPH, fakt nevím, tehdy mě to netrápilo). Takže to byl možná i jeden z důvodů, proč tady tak letěly starší modely (zase - to nejlepší PC zastarávalo rychleji).
Rozepsat PC na částky do 10000 Kč bylo kvůli učetnictví (DPH přišlo až v roce 1993 a tam by problém nebyl). Pokud počítač stál do 10000 Kč jednoduše se dal do výdajů, pokud by byl přes 10000 Kč musel se dát do majetku a odepisovat postupně. To znamená že peníze do nákladů nemůžu použít hned a hlavně je to účetně o dost složitější operace. Tohle platí do dnes, jen ty částky jsou trochu posunuté.
Tady mne napadá jedna věc z předrevoluční doby které jsem si všiml: Kalkulátor MR-609 stál 510 Kčs a kalkulátor MR-610 stál 520 Kčs. Když jsem viděl někde v NDR v obchodě jejich východoněmecké verze (Tesla doplnila zadní kryt s držákem na dvě tužkové baterie) tak by při přepočtu z východoněmeckých marek cena MR-610 zhruba odpovídala, ale cena jednoduššího modelu by mohla být asi 350-380 Kčs. Jenže podle tehdejších pravidel pokud něco stálo víc jak 500 Kčs, muselo to v podniku dostat inventární číslo a podléhalo inventarizaci. Pokud by ta kalkulačka stála 490 Kčs bylo by to už v kategorii jako propiska a tudíž bez kontroly...
Nevim kde si sebral 286 za 20k ... protoze jen monitor stal 10+. V roce 89/90 stala kompletni 286 nejakych 60k, coz byla cena novy skodovky.
V roce 95 bylo za 50k P100 + 1,6G disk + 4MB ram + 15" CRT.
Tak tenhle díl se povedl i na "místní poměry" (myslím tohoto seriálu) opravdu skvěle! Fakt díky za to - je to krásně čtivé a myslím, že každému i bez předchozí znalostí Atari to ukázalo/naznačilo, jaké různé triky se s tím dají provádět a jaké možnosti ten stroj pak dává. Když si vzpomenu, jak jsem pak trpěl přechodem na PC s 16 barvami...
Jo, a speciální dík za tu část se sprity, ta je hodně pěkná a málokde se uvádí!
Teen screenshot ze hry je také pěkně vybraný, jak ukazuje jak různé grafické módy, tak DLI.
Pár technických detailů k článku:
* Nastavení vektoru DLI není všechno, jak tvrdí poznámka, ještě je potřeba povolit DLI v NMIEN. Ve zdrojáku to je, jen z textu to asi vypadlo při úpravách.
* Atari mělo skutečně 256 barev, však obr. 2 je (myslím) ukazuje. Jenže je umělo zobrazit jen v GTIA módech, což znamenalo ty divné pixely 4x1. Proto se často používalo jen 128, aby mohl člověk zároveň s barvami používat všechny gr. módy.
* četl jsem z několika zdrojů o triku, jak pomocí jednoho bugu v GTIA docílit iluze pixelů 2x1 v GTIA módech, ale nikdy jsem si s tím nehrál opravdu a na skutečném HW už vůbec ne. Máte někdo vlastní zkušenost?
* ještě bych zdůraznil víc to, co je v článku ukázané, tj. že WSYNC posouvá vždy jen o jeden TV řádek, tj. i v textových módech. Proto se mohou barvičky (i znakové sady!!) měnit na každém TV řádku, i když ANTIC umí zavolat DLI jen s "jemností" na jednu svou instrukci.
Tak to jsem zvědavý. Vím, že někdo na ně nedá dopustit, ale já nevím... Přijde mi to jako taková "věc pro upoutání pozornosti v demu", jinak ty pixely 4x1 a rozlišení grafiky tím pádem 80x192(!!!) použit moc nejdou... Snad jediný aspoň trochu zajímavý příklad, který jsem viděl, bylo použít světelné pero místo fixy v Alfigrafu jako nejpomalejší scanner na světě a na obrazovce pak využití 16 odstínů šedé v gr. 9. (Do 50 odstínů tehdy ještě zbývala hóóódně dlouhá cesta :) ).
Takže jsem opravdu bez ironie zvědavý, jestli to bylo použitelné na něco zajímavého.
Jako je to špatné rozlišení, ale například toto (https://www.youtube.com/watch?v=GlR85G1OgCA novinka) vypadá dobře. Chce si to představit na TV, kde je to rozmazané.
Tohle je naprostá PECKA! To je přesně to fanouškovství jako u nás na atárku. Naprosto smekám před takovými výzkumníky.
Dobře, rukavice zvednuta :D Také jsem si dodnes myslel, že to ve strojáku bude nějaká divočina. Tak ne, je to jedno STA - nikdy nepřestanu milovat Atari :) Tak za odměnu za skvělé vyhecování posílám paletu všech 256 barev, což je zároveň odpověď na jeden z předchozích komentářů.
A také, myslím, stojí za zmínku některé triky v kódu, např. opět časování za běhu paprsku řádkem, kombinované PMG na překrytí kritických míst. A PMG v režimu bez grafiky, takže neexistují žádná data pro PMG, co by zabírala paměť. Zvědavci si mohou zkusit přenastavit barvy, pozice i masky těch hráčů, aby viděli na obrazovce, jak to funguje. Vše jsem okomentoval.
; 256 palette show
; Program starts ANTIC MODE F in GTIA gr. 9 mode,
; draws 16 columns of all 16 shades and then
; it starts DLI routine to set the base color to each of 16, every 4 scanlines
; Look at label 'start' for the program init routine.
; DLI routine does 2 steps for each line:
; 1. sets the main color of ANTIC MODE F GTIA gr. 9 to each value,
; every 4 scanlines (making nice squares 4x4 as palette fields)
; 2. reverts the line color back to black as fast as possible
; on the right of the palette picture
dli: 0600: 48 PHA
0601: 8A TXA
0602: 48 PHA
0603: A9 00 LDA #$00 ; #basecolor
pltrow: 0605: A2 00 ┌> LDX #$00 ; #basecolor2 ; back to black
0607: 38 │ SEC
0608: E9 10 │ SBC #$10
│
060A: 8D 0A D4 │ STA WSYNC
060D: 8D 1A D0 │ STA COLBK
0610: 20 40 06 │ JSR $0640 ; waitcols
0613: 8E 1A D0 │ STX COLBK
│
0616: 8D 0A D4 │ STA WSYNC
0619: 8D 1A D0 │ STA COLBK
061C: 20 40 06 │ JSR $0640 ; waitcols
061F: 8E 1A D0 │ STX COLBK
│
0622: 8D 0A D4 │ STA WSYNC
0625: 8D 1A D0 │ STA COLBK
0628: 20 40 06 │ JSR $0640 ; waitcols
062B: 8E 1A D0 │ STX COLBK
│
062E: 8D 0A D4 │ STA WSYNC
0631: 8D 1A D0 │ STA COLBK
0634: 20 40 06 │ JSR $0640 ; waitcols
0637: 8E 1A D0 │ STX COLBK
│
063A: D0 CB └─ BNE $0607 ; pltrow
063C: 68 PLA
063D: AA TAX
063E: 68 PLA
063F: 40 RTI
waitcols: 0640: EA NOP
0641: EA NOP
0642: EA NOP
0643: EA NOP
0644: EA NOP
0645: EA NOP
0646: EA NOP
0647: EA NOP
0648: 60 RTS
start: 0650: A9 00 LDA #$00 ; ; set DL of ANTIC MODE F
0652: 8D 30 02 STA SDLSTL
0655: A9 07 LDA #$07
0657: 8D 31 02 STA SDLSTH
065A: AD 6F 02 LDA GPRIOR ; ; start GTIA MODE for gr. 9
065D: 29 3F AND #$3F
065F: 09 40 ORA #$40
0661: 8D 6F 02 STA GPRIOR
0664: A9 78 LDA #$78
0666: 8D 75 06 STA $0675 ;cpaltl ; self-modifing code is always useful :)
0669: A9 81 LDA #$81
066B: 8D 76 06 STA $0676 ;cpalth
066E: A0 3F LDY #$3F
nxtrow: 0670: A9 10 ┌>LDA #$10
0672: A2 07 │ LDX #$07
nxtcol: 0674: 9D 50 8B │ ┌>STA $8B50,X ; <arg>=cpalt
0677: 18 │ │ CLC
0678: 69 22 │ │ ADC #$22
067A: CA │ │ DEX
067B: D0 F7 │ └─BNE $0674 ;nxtcol
067D: AD 75 06 │ LDA $0675 ;cpaltl
0680: 18 │ CLC
0681: 69 28 │ ADC #$28 ; ; #$28 = bytes per line
0683: 8D 75 06 │ STA $0675 ;cpaltl
0686: 90 03 │ BCC $068B
0688: EE 76 06 │ INC $0676 ;cpalth
068B: 88 │ DEY
068C: D0 E2 └─BNE $0670 ;nxtrow
068E: A9 00 LDA #$00 ; ; set DLI
0690: 8D 00 02 STA VDSLST
0693: A9 06 LDA #$06
0695: 8D 01 02 STA VDSLST+1
0698: A9 C0 LDA #$C0
069A: 8D 0E D4 STA NMIEN
; ; hide the non-perfect ANTIC timing by a PMG player on each palette side
069D: A9 14 LDA #$14
069F: 8D 00 D0 STA HPOSP0
06A2: A9 50 LDA #$50
06A4: 8D 01 D0 STA HPOSP1
06A7: A9 FF LDA #$FF
06A9: 8D 0D D0 STA GRAFP0
06AC: 8D 0E D0 STA GRAFP1
06AF: A9 03 LDA #$03
06B1: 8D 08 D0 STA SIZEP0
06B4: 8D 09 D0 STA SIZEP1
06B7: A9 00 LDA #$00
06B9: 8D C0 02 STA PCOLR0
06BC: 8D C1 02 STA PCOLR1
06BF: F0 FE BEQ $06BF ; ; EOGW - End of Good Work
; DLIST
0700: 3x 8 BLANK
0703: DLI LMS 8150 MODE F
0706: 93x MODE F
0763: LMS 9000 MODE F
0766: 97x MODE F
07C7: JVB 07008. 5. 2026, 01:03 editováno autorem komentáře
Moje makra ve vim :D
Pardon za zklamání, nemám kouzelný assembler-edtor, který by to uměl živě. Jen jsem chtěl ukázat, jak si píšu programy v assembleru já, abych se v nich vyznal. Samozřejmě na papíře - tohle jsem pak přepsal pro vás :)
A, mimochodem, Murphy nespí - sem jsem vložil omylem minulou verzi s jedním malým bugem v kometářích a bez dalších vylepšeníček. Už to nešlo opravit, ale na odkaze je správná verze.