Kvůli nové „vlastnosti“ :-) redakčního systému se mi nepodařilo do článku vložit některé fotografie v plném rozlišení, takže některé ofocené Basicové programy nemusí být čitelné. Původní fotografie v původním rozlišení naleznete zde
Názory k článku
Grafické možnosti a programové vybavení IQ-151
Fotografie Basicových programů v plném rozlišení
celé vláknoKvůli nové „vlastnosti“ :-) redakčního systému se mi nepodařilo do článku vložit některé fotografie v plném rozlišení, takže některé ofocené Basicové programy nemusí být čitelné. Původní fotografie v původním rozlišení naleznete zde
Re: Fotografie Basicových programů v plném rozlišení
celé vláknoA nebylo by jednodušší to převést do nějakého „skenového“ formátu, jako třeba DJVU?
Re: Fotografie Basicových programů v plném rozlišení
celé vláknoPro mě by to bylo složitější (a pravděpodobně i pro lidi, co si chtějí fotky prohlédnout) a stejně by to nevyřešilo problém redakčního systému. Nicméně s těmi fotografiemi si může každý dělat co chce a v případě naskenování celého VTM by se DJVu nebo PDF s vloženými binárními TIFFy hodilo, to samozřejmě.
Pár poznámek
celé vlákno– Ačkoliv Forth je jazykem, který v současnosti používám nejčastěji (vedle Assembleru a C), stále váhám, jedná-li se o vyšší nebo nižší jazyk. BASIC byl považován za nižší jazyk, totéž Assembler, Pascal za vyšší jazyk, C za nejnižší z vyšších jazyků (resp. nízkoúrovňový jazyk). Ale Forth? Při vší úctě – lidem, kteří o něm mnoho nevědí, obvykle říkávám, že jde vlastně jen o hodně vychytaný makroassembler. Zkrátka kdybych měl porovnávat mezi BASICem používaným běžně na 8bitech a Forthem, řekl bych, že Forth je o kategorii níže proti BASICu. Ovšem na druhou stranu bych řekl, že jeho filosofie je v mnoha ohledech stavěná stejným způsobem, jako třeba u Lispu („vše je seznam“ – „vše je slovo“, prefixová notace – postfixová notace, možnost neomezeně jazyk syntakticky rozšiřovat pomocí maker – pomocí definujících slov, jednoduchá základní kostra jazyka, definování mnoha základních struktur jazyka v jazyku samém, interaktivita, homoikoničnost, jednoduchost překladače, atp.), který je považován za vyšší jazyk.
– Nejedná se ve výpisu programu na řešení soustav lineárních rovnic o překlep? Ten algoritmus znám pod názvem Gauss-Seidelova metoda, nikoli Sidelova.
– IQ-151 bylo obvykle vybaveno pouze 32 KB RAM, nikoli 64. Ale i 32 KB verze se dala dopájením 4116 do volných pozic na základní desce snadno rozšířit, protože monitor si velikost dostupné RAM testoval po resetu.
– Po resetu zůstal zachován nejen obsah RAM v modulech, ale i na základní desce. Ačkoli v modulech byla instalována SRAM, zatímco uvnitř počítače DRAM, reset netrval tak dlouho, aby se stihl obsah DRAM znehodnotit. Pouze pár proměnných monitoru a BASICu se po resetu inicializovalo. Díky tomu bylo možné i po nechtěném resetu obnovit např. program v BASICu a pokračovat v práci.
Re: Pár poznámek
celé vláknoHeslo forthu je „low floor, high ceiling“, z cehoz je dobre videt kde kategorizace na vyssi a nizsi programovaci jazyky selhava.
Re: Pár poznámek
celé vláknoDovolím si s tím Forthem trošku oponovat. Na jednu stranu to v počátcích vypadá jako makroassembler nějakého zásobníkového procesoru, na stranu druhou je to však jazyk s velmi silnými vyjadřovacími schopnostmi (a hlavně s možností tvorby dalších syntaktických konstrukcí), v mnoha ohledech mnohem výš než Basic.
Shrnmě si vlastnosti typických „osmibitových“ Basiců (pozor – modernější BASICy už jsou někde jinde):
1) číslování řádků + skoky na řádky pomocí GOTO (absolutní adresování!!!, toto překoná prakticky jakýkoli assembler)
2) strukturované smyčky – pouze „for“, nic jiného
3) strukturované rozeskoky – žádné v případě, že se příkaz nevleze na jeden řádek
4) uživatelské procedury a funkce (pojmenované) – většinou žádné, pouze GOSUB na řádku (opět absolutní adresování a opět se tato věc dělá mnohem lépe v assembleru či Forthu – tam je to úplně nejjednodušší)
5) parametry funkcí a procedur? většinou jen přes globální proměnné (!)
6) uživatelské datové typy? v naprosté většině žádné
7) + dvě specialitky: automatické deklarace proměnných + automatické inicializace proměnných, na což se aspon jednou nachytal snad každý programátor
[Zatímco například body 1, 2 a 3 se dají ještě zkousnout, jsou body 4, 6 a 7 dohromady zabijácké při tvorbě delších programů]
Výše uvedené vlastnosti vedly (pokud nebyl programátor hodně důsledný) ke vzniku špagetového kodu. Forth je naproti tomu orientován především směrem k tvorbě nových slov (=funkcím), jejichž tělo je docela krátké, umožnuje tvorbu uživatelských datových typů, nových strukturovaných konstrukcí (speciální smyčky atd.).
PS: mým prvním jazykem byl BASIC, takže jsem mu samozřejmě vděčný za to, co jsem se naučil, ale při psaní větších aplikací se člověk už opravdu zamotal a od nějakých 5000 řádkových aplikací se to kvůli bodům 4. 6 a 7 skoro nedalo rozumně zvládnout
Obrázek 8
celé vláknoObrázek 8 – mam doma v daleko zachovalejsim stavu :), spoustu veci me to onehda naucilo.
Re: Obrázek 8
celé vláknoNo já jsem tu knížku dost dlouho používal (i po přechodu na Pascal a později na céčko), proto vypadá jak vypadá :-)
VTMko anybody
celé vláknoAhojky,
nemate nekdo to VTMko nekde naskenovane v rozumne kvalite? Pochazi z neho kultovni hlaska „Sorry, vole, error“… Nekde se mi pri stehovani ztratilo :-(
Dikec
Re: VTMko anybody
celé vláknoTěch pěkných komixů tam bylo víc, ale tahle hláška byla fakt asi nejlepší :-)
Na to VTM vzpomínám i proto, že právě ono nastartovalo mojí IT kariéru. Měl jsem ho ještě předtím, než jsem měl přístup k počítači. Pak jsem se na příměstském táboře dostal k ZX spectru. A právě podle popisu v tomhle VTM jsem na něm napsal program, který se uživatele ptal na kvízové otázky a vyhodnocoval odpovědi. Bez jakéhokoli dalšího vysvětlování „jak to programování vlastně funguje“ :-)
Re: VTMko anybody
celé vláknoMám ho doma papírové. I ty Olehlové a kol., ale tam pojedu tak za dva týdny, tak snad někdo jiný.
Re: VTMko anybody
celé vláknoPrave nedavno jsem tento vytisk (znovu) ziskal, mohl bych to nafotit (skener nemam), takze kvalita by byla asi takova, jako je na vsech sesti ostatnich fotkach. Nebo pokud jste z Brna ci okoli zapujcim pro okopirovani, to by nebyl problem.
Re: VTMko anybody
celé vláknoTiez by som uvital ak by sem niekto hodil scan tohoto VTMka. Boli tam dobre forky – matne si spominam ako nejaky robotnik vysvetluje veverke nieco ohladom pocitaca…
Re: VTMko anybody
celé vláknoJo to je ten stehovak co v lese vyklada z auta IBM-360ku a rika ‚hele veverko, bez vod toho, nerozumis tomu, jeste neco pokazis‘.
Re: VTMko anybody
celé vláknojj ten vtipek tam je taky.
Btw – zkusim ty stranky VTM nafotit nejlip, jak to s kompaktnim digitakem pujde a nekde vystavit. Skener nemam, ale muzu casopis (a treba i dalsi literaturu) zapujcit.
Re: VTMko anybody
celé vláknoKdyž už jsme u těch starých počítačových knížek a jejich ilustrací – pamatujete na časopis ROBIK? Ty Jiránkovy kreslené vtipy (nebo kdo to maloval) mě vždycky rozsekaly. :-) Poznámka ze školy: „Sprostě nadává v jazyce BASIC.“ nebo scénka matka s klukem u psychologa: „Kamarádí se jen se svým počítačem…“
Krom toho, řešily se tam zajímavé úlohy z algoritmizace…
Děti se na základních až středních školách učily po obligátním BASICu LOGO (kdo si prošel tímhle jazykem, tomu později vůbec nepřišel Lisp tak obskurní, jako jiným lidem), Pascal, Assembler (resp. stroják – proto jsme měli nařízené čtverečkované sešity, které jsme si měli nalajnovat na 4 sloupce :-) Kua, jestli už stárnu, nebo co, ale stejně mi připadá, že těm generacím po nás, co si touhle osmibitovou školou už neprošly, něco chybí. Už přemýšlejí jinak – rád bych řekl, že ani ne hůř, ani ne líp, prostě jinak. Ale fakt, že nad některými jejich přístupy k řešení problémů (mnohdy klasických!) mi zůstává rozum stát a váhám, neměl-li to být jen nevalný pokus o vtip, mi nedovoluje být tak tolerantní, jak bych si přál.
Re: VTMko anybody
celé vláknoHodil jsem ho sem, bez jakychkoli uprav
http://photo.uloziste.com/?fotka=d8d8cf1b5f4ab028.jpg&d=170281fb06fdb21e&size=3
btw: ten papir je za ta leta docela nasedly a porad me nebylo jasny, co je na tom casopisu tak divneho, kdyz si ho po letech procitam. Potom me to tuklo – proste tam je jen text, vtipky a zadne barevne reklamy, docela odpocinkove poctenicko :-)
Re: VTMko anybody
celé vláknorika: ,,hele, veverka, bez od toho, nerozumis tomu'' (jeste dnes tu hlasku pouzivam)
nebo se mi libil vtip, kde v letajicim taliri nad zemi leti dva mimozemstani a jeden rika: ,,jestli neovladaji BASIC jsme ztraceni''
vtipy tam byly fakt dobre, jeste nekde doma ten vytisk mam, protoze jsem jeden z tech jirankovych obrazku pouzil na oznameni o promoci. myslim, ze to byl ten jak buh vyhani adama a evu z raje se slovy: ,,bezte a ucte se programovat''
Re: VTMko anybody
celé vláknoBez si pokecat s kolegy do hospody, trochu softveru te nezabije :) Nekde to jeste mam, mozna najdu.
Re: VTMko anybody
celé vláknoTy nejpodarenejsi vtipky z VTMka jsem vcera ofotil, zde jsou: http://photo.uloziste.com/?tag=vtm
Re: VTMko anybody
celé vláknoDakujem za fotky – BTW skvely clanok ako vzdy…
CALL HEX F973?
celé vláknoTo přece bylo volání pípátka, ale někam se mu muselo napsat (POKE), jak vysoký a jak dlouhý zvuk to má vyluzovat – paměť už mi v mém stařeckém věku 38 selhává, tak mi prosím připomeňte – byly to adresy 23 a 24?
CP/M versus ASCII
celé vláknoRád bych napravil chybu v článku uvedenou: konvence, že znak 10 = LF a 13 = CR nepochází z CP/M, ale ze starší (a hlavně nesouvisející) normy ASCII. Viz http://en.wikipedia.org/wiki/Ascii#ASCII_control_characters.
Re: CP/M versus ASCII
celé vláknoOno to bylo mysleno tak, ze v CP/M se tato konvence skutecne pri zapisu a cteni (textovych souboru) pouzivala, na rozdil od nekterych dalsich systemu, jak puvodniho IQ-151koveho, tak i napriklad u osmibitovych Atarek, kde byl konec radku znak 155 (nebo u ZX-80/81, kde vubec ASCII nebylo).
AMOS? Mě spíš fascinuje MRS pro PMD
celé vláknoMRS = Memory Resident System byl:
- editor
- assembler
- linker
- správce knihoven
- debuger
Nahrál se z kazety na PMD, pak celý seděl v paměti a vše bylo k dispozici, dovolovalo to vyvinout program pěkně po kouscích, slinkovat a uložit na kazetu a to vše s použitím daleko méně paměti než nějaký AMOS ;-)
Re: AMOS? Mě spíš fascinuje MRS pro PMD
celé vláknoJo, jo…
MRS byl zatraceně dobrý software. Já jej poznal ve verzi pro ZX-Spectrum. Byla k němu docela dobrá dokumentace. O prázdinách po letním semestru tuším v roce 1988 (poslední velké prázdniny) jsem si přivydělával jako pomocná síla na stavbě :-). Zedníci v prostojích hulili a chlastali pivo a já studoval dokumentaci a kód z MRS :-). Nechápali co to tam čtu a nejspíš mě měli za mimozemšťana.
Hezké vzpomínky…uteklo to tak rychle, až člověku mrazí.
Re: AMOS? Mě spíš fascinuje MRS pro PMD
celé vláknoRe: AMOS? Mě spíš fascinuje MRS pro PMD
celé vláknoTy voe… :-)
Uplne na me dychly ty stare casy.
Je ovsem otazka v cem jsem toho napsal vice. Vedle MRS jsem casto pouzival svatou dvojici Gens/Mons (poznal jsem je mnohem driv nez MRS), doplnenou Lamacovym editorem, ktery jsem pak nahradil svym vlastnim, kde jsem pouzil rutiny pro 64 zn. na radek od Adamka. Take jsem casto pouzival vyborny debuger, ktery se jmenoval Mon – doted nevim, kdo ho napsal, protoze tam autor uveden nebyl.
Mimochodem, co je dnes s Lamacem a Adamkem? Adamek uz byl tenkrat „starsi“ pan, ale Lamac byl priblizne v mem veku, tak mozna jeste nejak aktivne pusobi…Jejich krestni jmena si jiz nepamatuji.
Re: AMOS? Mě spíš fascinuje MRS pro PMD
celé vláknoJirka Lamač už tehdy působil pod zkratkou LEC. Pokud to není shoda jmen, tak později založil stejnojmennou firmu http://www.lec.cz/en/indexo.php (pamatuju, jak Pod Juliskou říkal, že ho kybernetika baví víc než VT, čemuž by i odpovídalo zaměření LEC.cz)
Re: AMOS? Mě spíš fascinuje MRS pro PMD
celé vláknoja som pouzival nieco od proximy
Re: AMOS? Mě spíš fascinuje MRS pro PMD
celé vláknoJá taky a jmenovalo se to Prometheus.
Re: AMOS? Mě spíš fascinuje MRS pro PMD
celé vláknoano presne, a bolo to dobre, aspon podla mna
Screenshoty?
celé vláknoMa někdo nějaké screenshoty, hlavně těch grafických režimů? Ty jsem nikdy na vlatní oči neviděl.
MHB 2114
celé vláknoNechtel autor spis napsat ze se nemusela multiplexovat adresa radku a adresa sloupce, ponevadz MHB 2114 byla SRAM? Nejak si nemuzu vzpomenou ze bych videl pamet ktera multiplexuje adresy s daty. Takovou vec co ja vim dela snad jen CPU 8086 a sbernice PCI.
Re: MHB 2114
celé vláknoJa jsem to pouzival na zapojenich s 8051. Ten mikroradic mel vyvedenej signal ALE, takze to bylo hodne jednoduchy. Ted uz si presne nevzpominam, jak byly alokovany porty, ale tusim P0 pro data (d0-d7) a spodni bajt adresy, P1 nebo P2 pro horni bajt adresy. U vetsiny pameti musel byt predrazen zachytny registr (latch), nektere ale akceptovaly ALE primo, takze mely latch uvnitr.
Re: MHB 2114
celé vláknoTakova pamet se pouziva v i8061/i8065, kteryzto se nachazi v drtive vetsine ridicich jednotek motoru vozidel Ford (EEC-IV, EEC-V) do roku 2004. Vede tam tusim 8+4 signalu (8data,4control). Jsou v tech jednotkach i specialni pameti, az na posledni typ, kde je i28f200.
Re: MHB 2114
celé vláknoPardon, nepodepsal jsem se. mhi
Re: MHB 2114
celé vlákno8061 je nejaky nastupce mikroradice 8051? Nebo je to uplne jiny cip? Ja akorat vim, ze Intel zacal delat 8096, ale jak je uspesny to netusim (naopak klon 8051 dela dneska kazda garazovka :-)))
Re: MHB 2114
celé vláknohttp://en.wikipedia.org/wiki/Intel_8061
Je to odvozenina od i8096 / i196 specificka pro Ford Motor Company (FoMoCo). Opravdu chutovka na praci :-). Programovali to v C– (ano, C minus minus, takovy hybrid mezi asm a C).
Re: MHB 2114
celé vláknoono tych C– existuje viacero (viem asi o piatich alebo siestich roznych). mojim najoblubenejsim, aj ked uz dalej nevyvijanym je programovaci jazyk c– na tvorbu programovacich jazykov :)
keby to bolo dotiahnute do konca, bola by to vcelku dobra vec pre ludi, co obcas niekde nieco potrebuju sparsovat, alebo prelozit nejaky kus kodu.
ukladani na pasku
celé vláknoNepatri to zrovna ke grafice, ale muzete mi nekdo objasnit jak se zapisovalo u ruznych pocitacu (ZX Spectrum, Atari, C64) na kazetu? Tedy konkretne jak to bylo modulovane, atd.
Era 8bitu mne minula, zacinal jsem na PC XT. Ted' se k tomu ale nejak vracim a o vikendu jsem si koupil par 8bitaku na aukru, tak mne to zacina zajimat.
Re: ukladani na pasku
celé vláknona ruznych pocitacich ruzne? Nekdy se pouzival zapis dvoji frekvenci (jednicka byla dejme tomu 2000 Hz, nula 1000 Hz), ale nekdy take primo binarni zapis s tim, ze nuly a jednicky byly ruzne dlouhe impulsy. Samozrejme kazeta i zesilovac maji nejake frekvencni omezeni, takze na kazetach nebyly ciste „obdelniky“, ale to az tak nevadilo. Take kalibrace na delky impulsu se provadely pri nacitani hlavicky i kazde(?) hrany, takze treba nevadilo, kdyz kazetak mel kolisavou rychlost.
Vetsinou se zapisovalo monofonne, ale par frajirku melo i stereo upravu, takze na pasce byly 4 stopy (dve ctene z jedne strany, dalsi dve pri obraceni kazety).
Tak me napada, ze kdyby se pouzivala fazova modulace jak u modemu, tak by se na kazetu veslo mnohem vic dat.
Re: ukladani na pasku
celé vláknoTo sice jo, ale řekl bych, že by se současně výrazně snížila pravděpodobnost, že ta data z pásku taky přečtu. :-)
Re: ukladani na pasku
celé vláknoTo jo asi mas pravdu. Na kazetach SONY z Tuzexu byla trvanlivost zaznamu v Turbo 2000 (Atari) okolo peti let, to je dobry. Mel jsem taky Maxwellky, ale ty mely mekke pasky, takze se vytlacovaly diry v pripade, ze jsem po nahrati programu zapomel vypnout kazetak, takze ty sly na hudbu. No a potom Emgetonky to je kapitola sama pro sebe :-), dobry tak jako nahrada za moderni /dev/null a /dev/random :-)
Re: ukladani na pasku
celé vláknoEmgetonky z „odštěpného závodu Gottwaldov“ se daly použít jako účinný prostředek k osmirkování hlav. Já jsem měl kupř. od otce přísný zákaz vkládat tyto kazety do jakéhokoliv magneťáku, co jsme doma měli. :-)
Re: ukladani na pasku
celé vláknoPochvalena budiz moudrost Tveho otce.
Re: ukladani na pasku
celé vláknoasi nikdy som emgetonku nemal doma, ale fakt to bolo take zle ?
Re: ukladani na pasku
celé vláknoNekdy to nebylo tak hrozne, ze by ti to hned ubrousilo magnetickou hlavu, protoze se stavalo, ze se paska zasekla, takze ji motorek neutahl a tudiz se nic nebrousilo :-)
Takove malickosti, jako ze se zasekla namotavaci civka (a posunovaci „jehla“ za magnetickou hlavou fungovala), takze jsi tahal 20 metru pasky z vnitrnosti kazetaku, byly na skoro dennim poradku.
Re: ukladani na pasku
celé vláknoKdysi dávno jsemdo svěho atari kazetaku, z nouze (respektive v blahé nevědomosti), koupil dvě tyto kazety. Prodávaly se v menší délce (jedna měla mám dojem 20minut) a šli v pohodě sehnat. Na mojí omluvu budiž řečeno, že to byla hned první kazeta k počítači koupená. Nic to nebrousilo ani se to nenamotávalo, ale neudrželo to často záznam ani do druhého dne. Zkoušel jsem na to nahrát zvuk, ale šumělo to jako blázen. Pak už se kupovali buď kazety vozené z „raichu“ z druhé ruky, nobo z tuzexu, případně se později v normálních obchodech začaly objevovat kazety zahraniční produkce…
Re: ukladani na pasku
celé vláknoTeda ja jsem nedavno po mnoha letech vytahl Atari a ze skrine a v klidu prectu temer vse co jsem tam ulozil v roce 1988 (pokud se teda tlaci do vhodneho mista dvirek kazetaku, ale tuhle vlastnost mel i tenkrat). Samozrejme ze ze zahranicnich kazet. U Emgetonek se ten pasek nejak prilepil sam k sobe (coz udajne lze opravit susenim pri zvysene teplote, ale nezkousel jsem to).
Mel jsem upravu kazetaku zvanou SUPER-TURBO (dokazalo az 6000 Bd, ale to uz bylo nespolehlive, takze jsem pouzival standardnich 2000 Bd).
Nektery zaznamy se sice uz precist nedaji (bad checksum), ale od vseho jsem mel aspon 2 nebo 3 kopie, takze si nekdy az budu mit cas napisu vicekanalovy viterbiho dekoder a z tech 3 kopii se to treba uz podari (na PC) obnovit.
Re: ukladani na pasku
celé vláknoMy měli u Didaktiku Gama také nějakou formu Turba, ale narozdíl od Atari to nebylo realizováno pomocí cartridge, ale další ROMkou připájenou na původní. Také na další integrované obvody s logickými funkcemi byly napájeny další a celé to bylo různě propojeno a doplněno dvěma přepínači – jedním na přepínání ROMky a druhým na ruční přepnutí paměťové banky. Celé to tvořilo dosti nepřehledné vrabčí hnízdo.
Neví někdo o této úpravě nějaké podrobnosti? Zajímalo by mě schéma, jak bylo časté a tak, jaká byla výsledná přenosová rychlost a tak…
Re: ukladani na pasku
celé vláknoNa jedno „turbo“ si vzpomínám – jednalo se ovšem o speciální formát kopíráku GAMA copy, které sloužilo pouze pro zálohování. Je možné, že to někdo zadrátoval – nikdy jsem se s tím ovšem nesetkal, a ani neznám nikoho, kdo by to měl v počítači. Didaktik byl na tyhle úpravy dost citlivý. Ten můj nepřežil rozšíření na Lamačovo CP/M. Resp. přežil ale brzo po pájení se začal loupat tišťák.
Re: ukladani na pasku
celé vláknoNěco na tom bude, matně si vzpomínám, že se to právě přes GAMA COPY převádělo. Díky za tip, třeba tak půjdou některé nahrávky znovu zpracovat pro fuse.
Malá zajímavost je, že ta upravená ROMka neměla copyright DIDAKTIK SKALICA, ale Sinclair Research Ltd.
Re: ukladani na pasku
celé vláknoU různých různě. :-) Základní myšlenka byla, že se na vstup magneťáku posílal obdélníkový signál, při čtení se naopak signál z magneťáku prohnal přes hradlo aby se zTTLkoval a takto upravený šel obvykle na pin nějaké V/V brány. Vlastní formát už záležel na počítači – některé rozlišovaly úroveň signálu (to byla ta horší varianta, neboť signál s opačnou polaritou to nedokázalo zpracovat), některé reagovaly na hranu. Obvykle se používala modulace obdélníková FSK. Data se obvykle sestavovala do nějakých bloků, opatřených hlavičkou a kontrolním součtem (žádné CRC, používal se prostý průběžný součet atp.), přičemž blok obvykle začínal několik sekund dlouhým pilotním signálem sestávajícím z posloupnosti střídajících se jedniček a nul ke kalibraci SW demodulátoru (někdy byl tento pilotní signál až nepochopitelně dlouhý, třeba 10 s). Běžně se modulační rychlosti pohybovaly kolem 200–600 Bd. Pak existovaly různé kopírovací programy – „turba“ – které zaváděly vlastní formát – což obvykle zahrnovalo podstatně kratší pilotní signál, vícestavovou modulaci atp. a ve výsledku to rychlost přenosu dat zvyšovalo několikanásobně. Obvyklé doby nahrávání programu byly řádově minuty.
Re: ukladani na pasku
celé vláknoZX Spectrum
48KB se nahrávalo cca 5min
Re: ukladani na pasku
celé vláknoKoukám, že mnoho lidí už odpovědělo, tak jen dodám ze svý zkušenosti
ZX Spectrum sledoval změny signálu 1 – 0 a zpět 0 – 1. Měří se, kolik se napočítá cyklů mezi celou jednou periodou. Krátká perioda (málo cyklů) odpovídá logické nule, dlouhá perioda (hodně cyklů) je logická jedna.
Zaváděcí signál u ZX Spectrum je myslím posloupnost jedniček a je zakončen nulou, za ním následují přímo data posílána po 8 bitech. Posledním osmice bitů je kontrolní součet.
Dál bych si ještě vzpoměl, že každý blok měl zaváděcí signál, následovaný jedním bitem nuly (jak jsem napsal) a následoval typ bloku jako bajt, jeho velikost, a buď vlastní data, nebo další metadata. ZX Spectrum rozlišoval typy bloků „Program, Data, Bytes“. Typický program tak většinou začínal blokem Program uvozující, že bude následovat basicovský program, pak pokračoval datový blok. Někdy následoval další blok „bytes“ obsahující další binární data.
Pamětníci si jistě vzpomenou na typické spektrácké vrčení, které by se dalo zapsat asi takto.
tůůůůůůkřt … tůůůůůkšřkřšřkšřkšřšřškřkkkřšřšřšřiiiřšřiiii
tůůůůůůkřt … tůůůůůkřšřšřřššššišiřiřiřiišiřiřišiišřřši…
Re: ukladani na pasku
celé vláknoMam jeste otazku, nebyl by ochoten mi nekdo prehrat nejakou pasku na Atari, ZX Spectrum, Didaktik Gama a M a pripadne i C64 ? Jsem z Prahy, neco proti tomu budu umet urcite nabidnout.
Je realne pripojit k temto pocitacum i walkmana, nebo se to nenahrava pres line-in-out ? Mam tam dat nejaky kondenzator na filtraci DC, nebo tam muzu pustit primo vstup ze sluchatek?
Omlouvam se za hloupe otazky, ale jak jsem psal, 8bity jsou mi cizi (tedy pokud nepocitame MCUcka…). Navic mam doma jen to Atari, zbytek je teprve na ceste.
Na ebay.de take biduji na Robotronovi a na ebay.co.uk ACORN ELECTRON :-).
Re: ukladani na pasku
celé vláknoVšechno, co kdy bylo na pásce, pokud to nejsou osobní data, se válí někde na webu a pustit to do většiny 8bitů můžeš rovnou z PC zvukovky, patřičné sw vybavení opět najdeš na webu. Takže proč něco nahrávat na pásku?
Re: ukladani na pasku
celé vláknoRe: ukladani na pasku
celé vláknoNikdy by mě nenapadlo, že se to dá taky napsat. Pro pamětníky (ale i ostatní)
http://www.youtube.com/watch?v=zlsDmALohQQ
Já si toho na svém Spectru tolik neužil, protože jsem měl stroj s integrovanou 3,5 palcovou disketovou mechanikou a z ní jednak zvuky nevycházely a druhak byla rychlejší, než kazeťák.
Socialisticka prisernost
celé vláknoIQ151 byla jedna z nejvetsich zhovadilosti, co jsem kdy videl… Nechapu o jake bravurni ukazce ceske skoly je zde rec? Byli jsme 100 za opicemi…
Re: Socialisticka prisernost
celé vláknotys ten clanek necetl vid? IQ-151 je zhovadilost, o tom se psalo minule (a autor byl napaden, ze pomlouva skvely socialisticky vyrobek – tak ted nevim), dnes je rec o AMOSu (operacni system – nic spolecneho s hardwarem), coz je opravdu dost dobry system a neni se cemu divit, ze cesi jsou v programovani docela dobri.
Re: Socialisticka prisernost
celé vláknoMat: Opice by stěží dokázaly vyrobit procesor. O tom byl můj příspěvek.
atarist: Nic takového jsem nepsal, zkuste nečíst mezi řádky a chtít chápat. Dotklo se mě, že autor s vervou agitátora hodil do jednoho pytle v něčem špatný režim a ty lidi, co tady tvořili počítače a programy. Ať už byl režim jakýkoliv, a já jsem přesvědčen, že je nedoceněný, naši tvůrci HW i SW byli na světové úrovni. Pokud vám připadá, že je snad ostuda, že měli procesor 5 let pozadu za americkým, tak si uvědomte, že 99% států na náš výkon zíralo s otevřenou hubou, tedy aspoň ti chytří z nich, kteří chápali, co to procesor je.
Re: Socialisticka prisernost
celé vláknoNasi tvurci HW a SW byli na svetove urovni? 99procent statu na nas vykon koukalo s otevrenou hubou???
Pripomina mi to zvasty komunistu, jak se od nas cely zapad uci jak delat to ci ono .. jdete s tim nekam.
Re: Socialisticka prisernost
celé vláknoJsi dost mimo – pár věcí, který tady vznikly byly na světové úrovni – třeba již zmíněný Amos, Microbaze Pascal, Lamačova CP/Mka. Asi na 8bitech existovalo víc originálního sw – na 16bitech už se vesele kopírovalo, a max. se přeložil manuál.
Re: Socialisticka prisernost
celé vláknoCPM určitě nebyla od Lamače :-)
Re: Socialisticka prisernost
celé vláknoO tom bych se skoro hádal, ještě mám doma manuál – byla to implementace CP/M pro ZX Spectrum – nepotřebovalo to diskety, vystačilo si to i s ramdiskem.
Re: Socialisticka prisernost
celé vláknoAle já netvrdím, že neupravil/nepřepsal/nenapsal BIOS. Ale podstata CPMky a její větší část je spíš v BDOS/CCP a do těch obvykle nebylo třeba sahat, protože byly hardwarově nezávislé.
Re: Socialisticka prisernost
celé vláknoKlasiká implememtace BDOS/CCP byla pro 8080. Mám pocit, ale fakt ne jistotu, že Lamač přepisoval ještě BDOS – z důvodu portu na Z80. Bohužel manuály, které jsem si schoval, mám někde hluboko ve sklepě a kód už je někde pryč.
V každém případě jsem to nemyslel tak, že by Lamač vynalezl CP/M. Jen se tu používaly dvě implementace – Trollerova a Lamačova. Navíc vzhledem k možnostem tehdejšího hw byl BIOS nějakým způsobem souměřitelný (velikostně/významově) s BDOSem a CCP.
Re: Socialisticka prisernost
celé vláknoNa Z80 fungoval bez problémů původní kód BDOS/CCP. Pokud někdo cítil potřebu do toho zasahovat, tak nejspíš jenom proto aby rozšířil funkčnost bez toho aby se nafouknul kód. Možná to Lamač potřeboval, netuším. Z původního příspěvku to vypadalo, že Lamač napsal CPM a to mně přišlo úsměvné. Ale koneckonců je to dneska už stejně jedno.
Re: Socialisticka prisernost
celé vláknoCP/M byl standart, pro ktery existovalo mnoho programu (pozdeji se s CP/M vyvinul MS-DOS). ZX-Spectrum nemohlo bezet CP/M, protoze ten vyzadoval RAM od adrersy 0 a od adresy 0×100 se zavadel program (dodnes prezilo u COM souboru v MS-DOS?) Klasicke ZX-Spectrum ma od adresy 0 16kB ROM s BASIC.
Takze aby ZX-Spectrum mohlo provozovat CP/M, bylo nejprve treba provest HW upravu mapovani pameti; take se zvetsila kapacita RAM v ZX-Spectru na 80, 144, 272 anebo 528kB.
Disketove jednotky byly nedostupne (drahe, jen za valuty, atd). Pro ZX-Spectrum exisovaly „levne“ Microdrive jednotky. A pan Lamac upravil CP/M pro ZX-Spectrum tak, ze pracoval s Microdrive, coz nebylo vubec snadne; mimo jine formatoval kartiridge tak, ze meli o nekolik procent vyssi kapacitu nez originalni format. Pokud tomu dobre rozumim, vlastne rozsril CP/M o RTOS jadro, ktere na pozadi prenaselo data mezi bufery v pameti ZXS a Microdrive, takze „pomala“ Microdrive jednotka nebrzdila uzivatelsky SW; ve vysledku byla rychlost Microdrive srovnatelna s disketovou jednotkou, tenkrat snad jeste s 5.25". Pokud ZXS zapsalo data na Microdrive, mohlo trvat az 50s nez se data skutecne zapsala na cartridge, ale ZXS nemusel cekat, vse bezelo na pozadi. Pozdejsi verze CP/M pro ZXS ktere spolupracovaly s disketovou jednotkou byly uz docela nudne v porovani s verzi, ktera fungovala s Microrive…
Tyto informace jsme se pred casem docetl v casopise Microbaze venovane CP/M pro ZXS; knizecka velikosti A5.
Re: Socialisticka prisernost
celé vláknoHmm a kdo nejaky ten Amos pouzival? Soudruzi v NDR?
Re: Socialisticka prisernost
celé vláknoŘekl bych, že snad skoro každý, kdo používal íkvéčko.
Re: Socialisticka prisernost
celé vláknoJdi raději žvanit někam do diskuse nějaké partaje, sem nepatříš. Urážíš lidi, kterým nesaháš ani po kotníky…
Cos dělal tenkrát ty? Nahlodával jsi režim flákáním po hospodách?
Re: Socialisticka prisernost
celé vláknoAle ja jsem prece v clanku o IQ-cku nepsal i <b>vsech</b> pocitacich vyrabenych v CSSR, naopak si treba myslim, ze Ondra, Didaktiky Gama|M|Kompakt a predevsim SAPI-1 se povedly. Ovsem IQ-151 se zcela urcite nepovedlo, myslenka modularniho pocitace byla dobra, ale realizace strasna. Jo a netvrdim to jenom ja (co taky muzu kecat, kdyz mi bylo v dobe rozkvetu IQ-cka stezi 15 let ze?) ale i doboby tisk, coz je docela zajimave, protoze okolo 1986 se jeste moc nase vyrobky verejne nekritizovaly a kdyz uz tak stylem, ze se sice nepovedlo, ale mohou za to subdodavatele.
Re: Socialisticka prisernost
celé vláknoJá si naopak vzpomínám, že v této době (2. polovina 80. let) se stále někde něco kritizovalo – „Touto dobou zde již mělo fungovat obchodní středisko (střih na staveniště), soudruhu náměstku, jak je možné, že tomu tak není?“
Re: Socialisticka prisernost
celé vláknoJá si taky myslím, že je ten režim stále nedoceněný…
Měl by se konečně docenit přísným soudem.
ZX Spektrum jako televizní vysílač
celé vláknoNa toto řešení jsem narazil před nějakou dobou a umožňovalo vysílat textové zprávy pro celou vesnici. :-)
Pak z toho Komunikace udělaly aféru a muselo se to zrušit. :-(
Re: ZX Spektrum jako televizní vysílač
celé vláknoNebylo to reseni s osmibitovejma Atarkama? Videl jsem o tom dokument, proste meli na VF modulator Atarka pripojeny zesilovac a vysilali v ramci jedne vesnice (±). K tomu nejakej program vyuzivajici moznosti Atarka v tomto ohledu – scrollujici text ve VBI, barevna duha, ruzne textove rezimy na jedne obrazovce, vypadalo to docela dobre (na co vetsi rozliseni nez 320×200 pri prenosu textu) a vlastne to poridili za babku.
disketa za 150
celé vláknoNa osmibitech jsem nic neprogramoval, jen si pamatuju, jak jsem v Prioru koupil jednu 5.25" disketu za 150Kčs a pak ji málem uvařil v mechanica když jsem celé odpoledne zapisoval na Atari ST800 do databáze všechny názvy článků z časopisů Amaterské rádio, VTM, atp. Nějak se teplem zkroutila a málem jsem ji nedostal z mechaniky ven.
Tape loading once more
celé vlákno?Mam jeste otazku na zdejsi znalce: Jak se loadovalo z pasky, nyni ne jaka tam byla modulace, ale technicky se delo co? Nacetly se bloky z pasky az do nejakeho EndOfTape, ukladalo se to do RAM a pak se to cele spustilo?
Na nejakych youtube videich se ZX Spectrum vidim a slyslim, ze uzivatel zacal nahravat, najednou se tam objevilo logo hry, a nahravani pokracuje. Jak je toto udelane? nacte se z pasky jen kousek (loader), ten se spusti, zobrazi obrazovku, a potom pokracuje v nahravani
Re: Tape loading once more
celé vláknoU většiny her se nahrávaly tři bloky – první byl loader v BASICu, ten se po spuštění automaticky spustil a inicioval nahrávání ostatních částí a finální spuštění nahraného kódu. Dalším blokem byl screen – většinou se data přímo nahrávala do videoram, a posledním blokem byla samotná hra. Existovaly ruzné variace, navíc tady většinou nekolovaly originální hry ale cracky.
Re: Tape loading once more
celé vláknoJiné domácí 8bity měly „jen“ loader ve strojáku (v ROM) a nahrával se přímo program do RAM a teprve pak se pustil. Už se nepamatuji, jestli to mělo nějakou hlavičku, která dopředu říkala, jak je program dlouhý a kam se má po nahrání přesunout.
Později se začaly objevovat různá turba na zrychlení nahrávání, což byl v podstatě upravaný loader. Každopádně pokud si programátor udělal vlastní loader, tak (přinejmenším na strojích s Z80A) si víceméně mohl v průběhu nahrávání dělat co chtěl (házet datama, hrát hudbu, kreslit atd. co procesor stíhal).
Mimochodem pro mladší ročníky by mohlo být zajímavé, že ty pruhy v pozadí (border) v průběhu nahrávání nejsou dělané bitmapou. Pro border byl dedikovaný jeden barevný atribut, který říkal, jakou má border barvu jako celek.
Efektu z pruhy se docilovalo změnou tohoto atributu (ať už byl přes port nebo paměť) rychleji něž snímková frekvence obrazovky.
Dokonce jsem viděl, jak si někdo dal práci s časováním a vykreslil 6 stínovaných (na ČB monitoru) trubek v borderu, které pěkně plynule přes sebe rolovaly nahoru-dolů.
Re: Tape loading once more
celé vláknoNa každém počítači se to dělalo trochu jinak. Jak už bylo řečeno – hlavička + data, přičemž ve hlavičce bylo cosi jako název, typ dat, kontrolní součet, počet bajtů v datovém bloku a obvykle ještě adresa, od které se mají data ukládat do paměti.
Hlavně v tom nehledej žádné složitosti – všechno bylo tak jednoduché, jak to jen jde – nejjednodušší loader (což zahrnuje softwarovou demodulaci a ukládání dat do RAM) se dal napsat na nějakých 60 bajtů ve strojáku.
Pokud jde o různé triky při nahrávání, tak to opět záviselo na konkrétním počítači – např. u toho Spectra se to dělalo buď tak, že celý program začínal jednoduchoučkým prográmkem, který zajistil nahrání obrázku (prostě blok dat, který se nahrál do videoram, vlastně hardcopy obrazovky uložený na pásek), a poté vlastního programu. Ale zajímavějších efektů se dalo dosáhnout tím, že úvodním blokem byl kód vlastního loaderu, který nahrazoval originální rutinu v ROM, a pomocí této vlastní rutiny se nahrál zbytek. Myšlenka vycházela z toho, že loader vlastně většinu času (speciálně u Spectra) akorát čeká na hranu signálu, znamenající rozhraní mezi jednotlivými bity, takže by v rámci tohoto čekání mohl dělat něco užitečného – např. něco vypisovat nebo kreslit na obrazovku – odměřovat čas do konce nahrávání, vypisovat nějaký úvodní komentář apod. Samozřejmě to muselo být rozdělené tak, aby se elementární krok toho algoritmu vždy vešel do časové mezery mezi hranami signálu.
A pokud ještě špekuluješ nad těmi pruhy po kraji obrazovky, tak to fungovalo jako monitor signálu z magneťáku a řešeno to bylo tak, že při každé hraně loader akorát změnil bajt, znamenající barvu rámečku okolo obrazovky. Obvod, generující videosignál, před vykreslením každého obrazovkového řádku akorát zkontroloval tuto barvu a podle pozice paprsku na obrazovce tam buď kopíroval videoram, nebo jen barvu z tohoto bajtu, čímž vytvořil rámeček. Protože řádková frekvence televize je asi o řád větší než frekvence hran signálu z kazeťáku, stihlo se mezi sousedními hranami vykreslit jen několik řádků stejnou barvou, takže výsledným efektem je vlastně takový osciloskop v binárním režimu s časovou základnou rovnou řádkové frekvenci TV. Pomalé střídání barev celého rámečku před příchodem vlastního signálu je způsobeno opakovaným přetékáním čítače, sloužícího k odměřování značek pro nuly a jedničky. Primitivní, ale funkční.
Re: Tape loading once more
celé vláknoPro nahrávání obrazovky měl Spectrum v BASICu dokonce speciální příkaz: LOAD „název“ SCREEN$, ale u těch her to zobrazování při nahrávání fungovalo trochu jinak. Je to odvozené z rozložení paměti tohohle počítače (adresy jsou desítkově a nevypisoval jsem všechny podrobnosti):
*----------------------------------------------
| ROM (16 KiB)
| 00000 – 16383 interpret BASICu
*----------------------------------------------
| RAM (48 KiB)
| 16384 – 23295 obrazovka
| 23296 – 23754 systémové proměnné
| 23755 – začíná program v BASICu
| (obvykle, pokud není připojen microdrive),
| za ním jsou basicové proměnné,
| pak následuje pracovní prostor a zásobník.
| 65535 – konec paměti
*----------------------------------------------
Do počítače se nejdříve nahrál krátký prográmek v BASICu, obvykle jeden řádek, který zajistil samotné nahrávání hry. To začalo od adresy 16384, nejprve se nahrála obrazovka a potom se plynule pokračovalo do zbytku paměti, stále v jednom bloku třeba až na její úplný konec, celých 48 KiB. To trvalo něco přes pět minut.
IQ151 Emulator
celé vláknoKdyby měl někdo zájem, napsal jsem emulator IQ151 v .NET. Emulace funguje spolehlivě, jen by chtělo dotáhnout modul GRAFIK a milion dalších kosmetických věcí… ;) Kdyby měl někdo zájem, tak mi dejte vědět na „myshaak at gmail“…
Re: IQ151 Emulator
celé vláknoJestli máte emulátor, tak bych se na něj velice rád podíval. Miluji stroj IQ 151, ale už ho nemám a rád bych získal nějaký ten emulátor. Zkoušel jsem udělat svůj, ale nešlo mi to.
Email: klicka.honza@gmail.com

