OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 29.03.2024, 01:21

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 46 ]  Přejít na stránku 1, 2, 3, 4  Další
Autor Zpráva
PříspěvekNapsal: 04.04.2020, 21:59 
Offline
Kecálek

Registrován: 14.09.2018, 09:10
Příspěvky: 179
Bydliště: Bardejov
Has thanked: 12 times
Been thanked: 6 times
Zdravím

Ak by mi v tomto niekto vedel poradiť, bol by som mu veľmi vďačný:

1.ako sa naučiť písať programy pre 8 bity v assemblery/basicu? (pracujem z mikropočítačmi ktore majú väčinou procesor MHB8080 alebo Z80)

aká požiť metodiku pri písaní programov, aky postup pri ich písaní požiť, ako sa naučiť písať rutiny, ako sa prepracovať od jednoduchších k zložitejším programom, ako sa naučiť písať hry(od tých jednoduchších ako pong alebo teris až po nejaké z pohiblivými postavičkami ako napr pacman, manic miner, atď) ... atď

2.ako prekladať hex výpis napr programu/pamäte (monitor, programy, hry...) do assembleru

ako čo možno najrýchlejšie prekladať do assembleru, ako zistiť čo su vo výpisoch data, čo nieje kódom, akým spôsob to prekladať (ručné prepisovanie alebo program), ako doplniť/editovať daný program/monitor

_________________
Didaktik M/PMI 80/MAŤO


Nahoru
 Profil  
 
PříspěvekNapsal: 04.04.2020, 22:21 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3767
Has thanked: 269 times
Been thanked: 452 times
Jak se naučit programovat? Mohu demonstrovat na svém příkladu začátečníka :twisted: .
a) Vyber si 1 jazyk a 1 počítač a seznam se dobře s jeho možnostmi, syntaxí a parametry. Nejlépe když má emulátor, to je mnohem pohodlnější práce.

b) začni od jednoduchých prográmků, které budeš upravovat k obrazu svému k vlastním více a více složitějším ale pokud možno se snaž být svými požadavky pořád o krok před svými schopnostmi, to tě totiž bude posouvat dopředu. Je lepší psát program ne jako monolit ale spíš jako soubor podprogramů co dělají jednoduché operace, mnohem snadněji se to opravuje a ušetří to spoustu místa v RAM pokud ty funkce potřebuješ často a opakovaně.

c) ideální je mít někoho zkušeného, koho se můžeš zeptat v zákysové situaci, párkrát bych byl nahraný nemoct se zeptat. Zde na fóru můžeš čekat fundovanou odpověď obvykle do několika minut až hodin.

d) zatni zuby, často je to frustrující a nedaří se a pak když to s velkou slávou dáš dohromady, vždycky se objeví někdo kdo to dá dohromady mnohem rychleji a mnohem lépe :-). Ale toť život.

e) připrav se na to že se budeš muset naučit spoustu nových věcí, strávíš bezesné noci a teprve postupně se praxí a neustálým psaním programů a přemýšlením o nich pomalu začneš zlepšovat. Taky je dobré vidět příklady od dobrých programátorů, to ti hodně ukáže správnou cestu. Počítej ale minimálně s několika měsíci pilné snahy abys napsal něco víc než jen nějakou primitivní hříčku.

Stroják ani assembler neumím, ale jsou tu na to jiní povolaní :-). Obecně bude platit to samé jako výše zmíněné, jen k tomu budeš muset ještě o to lépe ten hardware znát a mnohem víc se orientovat v zásadách správné tvorby programů. Ergo motyka je to mnohem těžší než třeba Basic...


Nahoru
 Profil  
 
PříspěvekNapsal: 04.04.2020, 22:46 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.05.2013, 14:56
Příspěvky: 2332
Has thanked: 303 times
Been thanked: 637 times
MrWifiHifi píše:
1.ako sa naučiť písať programy pre 8 bity v assemblery/basicu? (pracujem z mikropočítačmi ktore majú väčinou procesor MHB8080 alebo Z80)
Kdybys chtěl začít na ZX Spectru se Z80, můžeš zkusit můj trochu už starší, ale doufám stále platný návod https://cygnus.speccy.cz/popis_instalac ... ebianu.php

A k naučení assembleru doporučuji příručku https://cs.wikipedia.org/wiki/Assembler_a_ZX_Spectrum (od Softhouse). Obě knihy jsou hodně orientované na ZX Spectrum, nejenom obecně na Z80

K naučení základů ZX BASICu je vhodná příručka pro ZX Spectrum 48+ - ta pěkná barevná, jen teď nemůžu najít správný odkaz. Stejně dobře poslouží i http://zxnext.narod.ru/manuals/Basic_Programming.pdf

_________________
https://cygnus.speccy.cz ZX Spectrum 128k, Betadisk, DivIDE, ESXDOS


Nahoru
 Profil  
 
PříspěvekNapsal: 04.04.2020, 22:53 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 28.01.2016, 23:57
Příspěvky: 3756
Has thanked: 213 times
Been thanked: 388 times
A jako uvod si mozna precist Zajickovy Bity do bytu...
Na pocatecni experimentovani asi nejradsi nejaky emulator.

_________________
Nikdy nediskutujte s blbcem. Stáhne vás na svoji úroveň a vyhraje zkušeností.


Nahoru
 Profil  
 
PříspěvekNapsal: 04.04.2020, 22:59 
Offline
Kecálek

Registrován: 14.09.2018, 09:10
Příspěvky: 179
Bydliště: Bardejov
Has thanked: 12 times
Been thanked: 6 times
Tak ja osobne mám Didaktik M, čo je z veľkej časti kompatibilné zo ZX Spectrom, mohol by som sa teda aj na ňom začať učiť

Čo týka písania v strojaku/assemblery, neviem ako ostatným, no mne sa veľmi páči ako je to urobené napr na PMD 85, škoda ale, že sa tam nedá písať stroják hneď už aj z prekladom do assembleru

p.s. neexistuje nejaký takýto program priamo pre spectrum/didaktik m?

_________________
Didaktik M/PMI 80/MAŤO


Nahoru
 Profil  
 
PříspěvekNapsal: 04.04.2020, 23:25 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 28.01.2016, 23:57
Příspěvky: 3756
Has thanked: 213 times
Been thanked: 388 times
No, ja uz na Spectru v assembleru neprogramoval... hmmm, minimalne dvacet let. Ale jako hlavni problem vidim, ze pokud jako zacatecnik neco napises, spustis, a ono to havaruje, tak budes vsechno nahravat od zacatku. Pokud mas kazetak nebo realnou disketarnu, bude to trosku zdlouhave :)
Kdysi jsme takhle programovali na CPC464 a bez nejake rychle externi pameti to bylo... zdlouhave :)

_________________
Nikdy nediskutujte s blbcem. Stáhne vás na svoji úroveň a vyhraje zkušeností.


Nahoru
 Profil  
 
PříspěvekNapsal: 04.04.2020, 23:28 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3767
Has thanked: 269 times
Been thanked: 452 times
Myslíš překlad assembleru do strojáku asi :-). V PMD můžeš zapisovat rovnou strojový kód přímo do paměťi, případně ho nahrát z magnetofonu pomocí MGLD a parametrů kam přesně ho chceš umístit. Emulátor bratří Bóriků je výborně vybvený i na tuto eventualitu a můžeš v něm dobře debugovat a postupovat klidně po 1 taktu. Jen to je tedy nejvyšší hardcore liga s ním začínat :-). To i ten assembler je vlastně user friendly :-). Piš raději v nějakém Z80/i8080 assembleru na PC a překládej si to rovnou do strojáku i8080, který pak jen nahraješ do svého osmibitu a spustíš. Ideálně s mezifází odladění v emulátoru, tam nahrávání je okamžité. To je mnohem pohodlnější a myslím že to tak píší prakticky všichni.


Nahoru
 Profil  
 
PříspěvekNapsal: 04.04.2020, 23:36 
Offline
Pan Generální
Uživatelský avatar

Registrován: 23.03.2014, 20:13
Příspěvky: 2773
Has thanked: 224 times
Been thanked: 601 times
zxcygnus píše:
K naučení základů ZX BASICu je vhodná příručka pro ZX Spectrum 48+ - ta pěkná barevná

Tahle: http://www.mrpear.net/cz/blog/434/sinclair-zx-spectrum-user-guide
Ta je skvělá, doporučuji verzi se zaříznutými okraji, lépe se v ní vyhledává.
A Bity do bytu tam má ke stažení také.

Jestli myslíš ty hexadecimální výpisy co vycházely v časopisech, tak to je už přeložený strojový kód procesoru, který bys musel disassemblovat.

Také bych doporučil začít s nějakým emulátorem, nejlépe takovým který umožní krokování programu a prohlížení obsahu registrů.

Assembler je těžký, ale psát programy v BASICu je jednoduché. Naučil se to i Bill Gates.

_________________
Plesnivý sýr z Tesca, zatuchlé kuřecí řízky z Albertu, oslizlé hovězí a myší trus z Lidlu.
Nákup potravinářské inspekce v ČR, říjen 2023.


Nahoru
 Profil  
 
PříspěvekNapsal: 05.04.2020, 03:09 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
Za mne, pokud by jsem neumel zaklady v programovani v modernim vysokourovnovem jazyku, byl by jsem v programovani v assembleru "nahrany".

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 05.04.2020, 03:17 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2278
Bydliště: Brno
Has thanked: 842 times
Been thanked: 302 times
faraon píše:
Assembler je těžký...

Nedramatizuj ;)

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
PříspěvekNapsal: 05.04.2020, 08:13 
Offline
Kecálek

Registrován: 14.09.2018, 09:10
Příspěvky: 179
Bydliště: Bardejov
Has thanked: 12 times
Been thanked: 6 times
Môj názor na assembler je taký, že nieje sám o sebe ťažký, len keď pracujem s nejakým počítačom, tak musím dokonale vedieť čo v ňom ako funguje, ako je zapojené + musím ovladať assembler pre procesor v danom počítači

_________________
Didaktik M/PMI 80/MAŤO


Nahoru
 Profil  
 
PříspěvekNapsal: 05.04.2020, 08:54 
Offline
Pan Štábní

Registrován: 12.05.2013, 22:24
Příspěvky: 1508
Bydliště: u Prahy
Has thanked: 44 times
Been thanked: 380 times
Kubik píše:
A jako uvod si mozna precist Zajickovy Bity do bytu...

Jako úvod rozhodně ne.
To raději ten ASMaZXS.

Zajíček celou knihu probírá instrukční sadu procesoru, ale jen obecně, nedostane se k interfacingu.
Příklady jako sečtení dvou šestnáctibitových čísel ztrácejí zajímavost, když si člověk ani neumí vypsat výsledek.
V 80. letech jsem ho číst začal, ale nedalo se to.
ASM a ZXS má instrukční sadu jen krátce na úvod, ale zbytek jsou samé praktické příklady, člověk si hned vyzkouší, co (to) umí.
Jak něco vypsat, jak přečíst klávesu, jak zabzučet, jak nakreslit a rozpohybovat panáka, ...
Zajíček se osvědčil víc jako reference, když jsem chtěl něco podrobněji o nějaké instrukci, a z ASMaZXS to nešlo vyčíst nebo pochopit.

Citace:
Stroják ani assembler neumím

"Bulgakova jsem nečetl, ale lidé jako on nemají v socialistické literatuře místo".

Citace:
mne sa veľmi páči ako je to urobené napr na PMD 85, škoda ale, že sa tam nedá písať stroják hneď už aj z prekladom do assembleru

Jednořádkový assembler má v monitoru zabudovaný z počítačů, co znám, jen Apple II (ale ten je s procesorem 6502). V praxi se ale stejně moc nepoužívá, takže by na PMD jeho absence neměla chybět.

MRS i DAM jsou sice dobré assemblery, ale k vývoji je nikdo používat nebude už kvůli magnetofonu - nevím o tom, že by podporovaly PMD-32-SD.


Nahoru
 Profil  
 
PříspěvekNapsal: 05.04.2020, 09:08 
Offline
Radil
Uživatelský avatar

Registrován: 03.05.2017, 11:50
Příspěvky: 403
Bydliště: Ústí nad Labem
Has thanked: 56 times
Been thanked: 118 times
Tak já si zase naopak myslím že Zajíček je dobrej pro první zkoušky s Assemblerem.. Právě proto že probírá jednotlivý instrukce... Tomáš ty dvě knihy napsal už spíš jako finty konkrétně napasovaný na ZXS (i když samozřejmě spousta z toho platí obecně)


Nahoru
 Profil  
 
PříspěvekNapsal: 05.04.2020, 09:18 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.05.2013, 14:56
Příspěvky: 2332
Has thanked: 303 times
Been thanked: 637 times
faraon píše:
Assembler je těžký, ale psát programy v BASICu je jednoduché. Naučil se to i Bill Gates.
Assembler je těžký, protože skládáš velké celky z mnohem menších kousků, než z příkazů v BASICu. Proto jsou Proximácké knížky tak dobré, protože z nich se nejenom dá naučit, co dělají instrukce procesoru, ale hlavně tam jsou smysluplné a dobře komentované funkční kusy programu, které se dají poskládat dohromady a tím dosáhnout rychleji zajímavého výsledku.

Zajíčkovy Bity do bytu jsou taky dobré, ale trochu jinak. Možná není špatný nápad zkusit obojí, co sedne líp.

Na ZX Spectru se dá určitě psát stroják i bez kompileru, jako data v příkazu DATA a pak to smyčkou naPOKEovat do paměti. Ale je to pracné a otravné.

Mnohem snazší je začít třeba Prometheem (taky Proxima). Podle mého názoru má nejmenší bariéry pro začátečníka. Zkoušel jsem před ním jiné, třeba Pikasm, Busy určitě doporučí svůj MRS, atd... existuje jich hromada. Ale pro první pokusy mi Prometheus přijde nejsnazší.

A doporučuji naučit se pracovat s Devast (Devast+, DevastAce...), myslím, že se mu podobá i Pikomon a monitor v Prometheu se taky ovládá podobně. Je dokonce součástí ESXDOSu jako příkaz .mon

Nezačínej něčím složitým, zkus si pro začátek pomocí assembleru změnit barvu okraje, pípnout, udělat pípací cyklus, pak možná zapsat pár bytů do VRAM, ldir kousku VRAM o pár bytů jinam, přečíst hodnotu z portu (stav klávesnice třeba), zapsat do RAM, něco udělat (BORDER effekt) a vrátit se bezpečně do BASICu atd... Po malých krůčcích.

Zkus se podívat do cizích zdrojáků. Já toho taky mám na webu spoustu a hlavně důkladně komentované.

_________________
https://cygnus.speccy.cz ZX Spectrum 128k, Betadisk, DivIDE, ESXDOS


Nahoru
 Profil  
 
PříspěvekNapsal: 05.04.2020, 09:35 
Offline
Pan Štábní

Registrován: 12.05.2013, 22:24
Příspěvky: 1508
Bydliště: u Prahy
Has thanked: 44 times
Been thanked: 380 times
Na Spectru jsem měl assembler psaný v Basicu, kde se zapsala instrukce, on ji přeložil,pak se zapsala druhá instrukce, on ji přeložil,...
Na PMD by to šlo asi vytvořit taky. Nahradil by se tím ten neexistující miniassembler v monitoru.
Bylo to ale pomalé jak ...

Na pokusy pro začátečníka je dobrý Machine Code Tutor (existuje nejen pro Spectrum - na PMD ovšem ne).
Je možné si tam napsat program v assembleru, spouštět nebo krokovat, ve výpisu paměti se rovnou podívat, jak to mění příslušné adresy (tj. třeba výsledky výpočtu).
Nevýhoda - a proto jsem s ním v mládí skončil - když nevíte, které adresy můžete používat a které ne, snadno ho shodíte (nechrání sám sebe před přepsáním).


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 46 ]  Přejít na stránku 1, 2, 3, 4  Další

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 3 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz