CGA a k tomu PC speaker:
https://www.youtube.com/watch?v=ymHPAP5KFQI
Nezapomenutelná klasika školních hodin informatiky :-) V druhé polovině 90 let, kdy naše škola stále učila informatiku na 386 a v zadu v rohu byla jedna 486.
Beztak jsme tuto odpolední výuku strávili na počítači vedle učitelského stolu, tam bylo Pentium 233. Takže jsme vždy z domu dotáhli nějaké hry, většinou teda já, nosil jsem International Rally Championship z Levelu, nebo Terep na disketách, či přepálené NFS 2.
Učitel nás vždy donutil tak 15 minut něco zmatlat v T602, aby se to aspoň jako výuka tvářilo, a pak už jsme si zbývající dvouhodinovku dělali co jsme chtěli. Nic nám to nedalo, ale vzpomínky krásné :-)
A chtěl bych poděkovat za články, opět velmi zajímavé čtení.
My meli v pred revoluci na gymplu jeden prumyslovy s trema seriovyma linkama (na tech se muselo psat pomalu), pak iq151, nejaky to sapi-1.
Paril se na tom Basic, ovsem az po uspesnem nahrani z kazetaku. Coz se kantori ucili o 2 vyucovaci hodiny pred nama.
Doma jsem mel z papiru vystrizenou klavesnici iq151 (vysla v casopise kde vychazel i popis basic), doma jsem programoval tuzkou na ctvereckovany papir.
V tv v ramci magionu na konci pousteli ukazky kodu (jako analog zvuk pro nahrani na pasku), na papir to z hlavy bohuzel hodit neslo.
Kluci, co meli doma Atari, na tom byli hur - misto programovani jen parili gamesy.
od Accolade byly jeste motorky, tam byl trosku lepsi engine rekl bych (naklaneni a tak).
A potom Arcade Voleyball, ani nevim proc jsme na tom tak ujizdeli :)
Pritom to bylo naprogramovany na doslova par bajtech; vzdycky se to vlezlo na nasi "pracovni" disketu s T602 textama a Placalem.
(a jeste Tuneller, jestli tedy byl pro CGA, ale rekl bych, ze i jo)
Učitelku, která je o lekci dopředu před studenty jsem zažil na VŠ, na Programovací jazyk C
. Ten náskok si udržovala tak, že chodila studovat za mnou, protože já byl o jednu lekci před ní (a měl jsem svoje PC/XT, na kterém jsem to mohl zkoušet, a knížku od Kernighana & Ritchieho, podle které jsem to louskal). ;oD
Mně prostě přišlo celé BGI naprosto nepoužitelné pro mé účely, takže jsem šel vlastní cestou. Naučilo mne to pracovat s bitmapami, přepínat grafické režimy, hrát si s bitovými rovinami v EGA a VGA - a v nepolední řadě sjednotit chování v textovém a grafickém režimu, takže taková ta textová meníčka a okna vykreslovaná pomocí rámečkových znaků jsem mohl využívat i v grafických módech.
A vyhnul jsem se těm šeredným písmům z BGI. ;o)
No prave. To bylo snad jedine me vyziti assembleru na pc, abych nahodil lepsi graficke rezimy a pracovam s nimi. Podprogramky pro kresleni spritu a podobne. Nic prevratneho. Pamatuju si jen, ze se muselo resit prepinani banku videpomeri, kdy na kazde grafarne byl bank jinak veliky, coz se samo dalo nekde vycist.
Jinak hlavni program jsem mastil v pascalu. Predelali sme tak na pc hru Saper z Atari a pak nejaky pokus o Lasermanii tez z atari.
Měl jsem podobné nápady. Problém byl, že jsem začínal na CGA, kde nešly (?) přepsat znaky. ;o(
Ale jakmile jsem měl svůj první počítač, PC XT vybavený EGA, zkoušel jsem přeprogramovat tabulku tak že každý znak byl 2×2 (pro 8×8) nebo 2×4 (pro 8×14 či 8×16) superpixely připravený rastr. To dávalo teoreticky 256 možností, ale protože šlo zaměnit barvu pozadí a popředí, stačila jen polovina - takže se to vešlo do horní půlky běžné ASCII tabulky.
Moc se to neosvědčilo. Tak jsem přešel na využívání těch několika rastrů a emulaci více stupňů šedi. Fotka v rozlišení 80×50 bodů a 16 stupních šedi byla z přiměřené vzdálenosti desíti metrů dokonce čitelná. ;oD
Nakonec to moje řádění nabralo přesně opačný směr: v grafických režimech jsem používal stejné funkce, jako v těch textových, pro psaní barevných textů.
Takže kromě toho, že to bylo neskutečně pomalé, ta rozhraní v mých programech vypadala stále stejně textově blbě. ;o)
Děkuju za další zajímavý článek a inspiraci ke hraní. S assemblerem x86 jsem si užil dost, TurboAssembler a pak hlavně vnořený do TurboPascalu. Všechny programy jsem ale dělal v textovém režimu.
Nasm se mi líbí, dokonce mi to na mojem WIN-XP funguje i bez dosboxu. Stáhnul jsem si dos verzi udělal jednu batku a použití je stejný jako s TASM (zkoušel jsem příklad přeložit TASMem a narazil jsem hlavně na to, že neumí zápis hexa čísel s prefixem 0x).
Když jsem spustil první program s grafikou (jeden pixel) proběhlo to správně jen mi automaticky okno s příkazovým řádkem šlo do fullscreenu, a po ukončení programu byl na obrazovce "modrý matrix". Po chvilce mi došlo o co jde: program skončil a zůstal grafický režim. Stačilo doplnit za wait_key opětovné nastaveni textového modu gfx_mode 2 a už se to chová jako slušný program. (Předpokládám že pokud se to spouštlo v Dosboxu, který se pak sám zavřel tak problém nebyl - respektive nebyl vidět) gfx_mode 2
Jedna věc mi přijde divná: a to je nastavování 0 do registru pomocí XOR. Já vím že to harcore programátoři dělaj, ušetří se nějaký ten bajt a takt. Ale když mám nastavit hodnoty 4 registrů, tak proč 3 dělat pomocí MOV a jeden (protože na něj zrovna vyšla nula) pomocí XOR?
PS: ještě jedna "novinka" v tomhle seriálu: na mém oblíbeném počítači se ve Firefoxu esr 52.9 (posledním co zvládne XP) nezobrazovaly obrázky se sreeny her, ostatní pak už ano. V Superminiu 122 to bylo v pohodě. Vím že je to skoro muzeální počítač (od podzimu 2006 bez přeinstalace), ale dokud zvláne root tak ho nechci dávat pryč. To je jen zpětná vazba od uživatele jiné verze prohlížeče.
Neměly, jenom tam necpal zbytečnosti. Mrkni do zrdojáků: https://www.breatharian.eu/sw/index.html
Jo, když frčelo výheň coding compo - jak na pár desítek bytů spustitelným .com souborem vykreslit různé obrázky - https://nuane.com/vyhen/08/vcc.html - to bylo programování :-)
Cpoc, D-ment a pak Shakul to brutálně nakládali všem.
9. 7. 2024, 23:08 editováno autorem komentáře