OldComp.cz

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


Právě je 18.04.2024, 06:09

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 41 ]  Přejít na stránku Předchozí  1, 2, 3  Další
Autor Zpráva
 Předmět příspěvku: Re: Scroll grafiky na PMD 85 v Basicu
PříspěvekNapsal: 10.08.2021, 11:37 
Offline
Kecka

Registrován: 11.01.2021, 11:47
Příspěvky: 48
Has thanked: 0 time
Been thanked: 39 times
A není už lepší týden dva strávit učením se Assembleru a na pomalý Basic se vykašlat?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Scroll grafiky na PMD 85 v Basicu
PříspěvekNapsal: 10.08.2021, 13:02 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3814
Has thanked: 279 times
Been thanked: 456 times
Když jsi génius co nemá v mezidobí nic jiného na práci a co si přečteš zůstane v hlavě, tak asi ano :-). Když si kradeš nepravidelně každou volnou chvilku, tak ne. Než se přehoupneš přes základy, bude to trvat měsíce až roky. Tedy jistá pomalost Basicu her chtivému jedinci ušetří dost času.

Basic je pomalý, ale pohodlný - oproti assembleru tě hodně odstíní od nutnosti řízení holého hardwaru. A jde tomu různými způsoby "pomoct." Už jsem si otestoval, že textově to rychlostně stíhá i beze všech berliček. Možná více vyvoněná verze čistě s grafikou by už takový rychlejší posun unesla, zejména když by měl být plynulý s pixelovým posuvem.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Scroll grafiky na PMD 85 v Basicu
PříspěvekNapsal: 10.08.2021, 13:12 
Offline
Profík
Uživatelský avatar

Registrován: 20.02.2017, 01:17
Příspěvky: 806
Has thanked: 19 times
Been thanked: 48 times
Však v assembleru by se dalo udělat jen ty zásadní rutiny pro grafiku a zbytek by byl BASIC. Co si pamatuji, tak to vždy fungovalo na 8-bitech včetně C-64. Na takovém ZX Spectru si ani nedovedu představit "scrolling po bodech" bez strojového kódu.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Scroll grafiky na PMD 85 v Basicu
PříspěvekNapsal: 10.08.2021, 16:20 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3814
Has thanked: 279 times
Been thanked: 456 times
Teď mě zase PMD vypeklo, že nelze mít standartně obrázek na pozadí a malé okno ve kterém probíhá grafika á la třeba Dizzy. Výjimka je použití PLOTu předem na čáry, ale to neřeší můj problém kdy podkladová grafika se hned smaže. Nebyl by na to nějaký POKE?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Scroll grafiky na PMD 85 v Basicu
PříspěvekNapsal: 10.08.2021, 18:18 
Offline
Radil
Uživatelský avatar

Registrován: 13.05.2013, 17:48
Příspěvky: 529
Bydliště: Košice
Has thanked: 429 times
Been thanked: 265 times
Czech Human píše:
Teď mě zase PMD vypeklo, že nelze mít standartně obrázek na pozadí a malé okno ve kterém probíhá grafika á la třeba Dizzy. Výjimka je použití PLOTu předem na čáry, ale to neřeší můj problém kdy podkladová grafika se hned smaže. Nebyl by na to nějaký POKE?
Tomu nejako nerozumiem. Samozrejme, že keď sa niečo nové zapíše do obrazovky, tak sa tým prepíše pôvodný obsah. Ale...
BPLOT vykresľuje bytovú grafiku XORom, takže druhé vykreslenie motívu na rovnaké miesto ho "zmaže" a na obrazovke bude na danom mieste pôvodný obsah pred prvým vykreslením motívu.
PLOT kreslí podľa nastavenia príkazom PEN v režime OR/SET/XOR.
PRINT pri výpise znakov vždy "prepíše" pôvodný obsah.

Čo sa týka rôznych pomerne jednoduchých "efektov" s VideoRAM v BASICu s použitím krátkych rutín v príkaze CODE A$, tak tie možno vidieť vo výukovom programe VideoRAM z tohto balíčka programov písaných pre C2717, teda aj pre PMD 85-2(A).
Na PMD 85-3 tieto rutiny nie sú použiteľné priamo z dvoch dôvodov.
1. VideoRAM sa prekrýva s ROM, takže by sa tie rutiny museli mierne upraviť, aby pri kreslení odpojili ROM a pred návratom ju pripojili späť.
2. Na PMD 85-3 príkaz CODE spúšťa kód od adresy 0B000h, na rozdiel od predošlých verzií BASICov, kde to je od adresy 7F00h. Vzhľadom na absolútne skoky to teda na PMD 85-3 fungovať nebude.
https://pmd85.borik.net/_work/c2717-vyukove-programy.ptp

_________________
https://pmd85.borik.net - PMD 85 Emulátor, PMD 85, PMD 32-SD
https://pp01.borik.net - PP 01 Emulátor, PP 01, SD-ROM Modul


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Scroll grafiky na PMD 85 v Basicu
PříspěvekNapsal: 10.08.2021, 19:14 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3814
Has thanked: 279 times
Been thanked: 456 times
Myslím že jen nepostupuju správně a že technicky by to mělo jít. Ale zobrazím zapakovaný obrázek na obrazovku (chci graficky hodnotnější pozadí okolo herního okna) avšak obrázek se okamžitě kompletně smaže i když chci zapisovat do omezené oblasti herního okna. Jít to nějak musí protože obě demíčka výše normálně posouvají jen část obrazovky a zbytek se ani nehne, liborovo i v basicu... Nicméně ten postup co mám k cíli nevede :-(.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Scroll grafiky na PMD 85 v Basicu
PříspěvekNapsal: 10.08.2021, 20:43 
Offline
Profík

Registrován: 28.07.2018, 14:37
Příspěvky: 923
Has thanked: 43 times
Been thanked: 411 times
Jen musím poopravit Romanův překlep, že na PMD 85-3 se strojová rutina v rámci provádění příkazem CODE umístí od adresy B000h. Ve skutečnosti je to adresa BE00h. Tato adresa je ověřena, protože takto (a od této adresy) jede i to malé předchozí demo s příkazem CODE.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Scroll grafiky na PMD 85 v Basicu
PříspěvekNapsal: 10.08.2021, 20:57 
Offline
Radil
Uživatelský avatar

Registrován: 13.05.2013, 17:48
Příspěvky: 529
Bydliště: Košice
Has thanked: 429 times
Been thanked: 265 times
Libor L.A. píše:
Jen musím poopravit Romanův překlep, že na PMD 85-3 se strojová rutina v rámci provádění příkazem CODE umístí od adresy B000h. Ve skutečnosti je to adresa BE00h. Tato adresa je ověřena, protože takto (a od této adresy) jede i to malé předchozí demo s příkazem CODE.
Ups... Má pravdu, předseda!
Na adresu 0B000h sa nahráva príkazom ROM.

_________________
https://pmd85.borik.net - PMD 85 Emulátor, PMD 85, PMD 32-SD
https://pp01.borik.net - PP 01 Emulátor, PP 01, SD-ROM Modul


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Scroll grafiky na PMD 85 v Basicu
PříspěvekNapsal: 10.08.2021, 22:03 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3814
Has thanked: 279 times
Been thanked: 456 times
Tak myslím že další postup zaměřím na využití Liborova assemblerového podprogramu, protože WINDOWA se na tohle neosvědčil. Ještě by bylo celkem vizuálně přitažlivé kdyby se obrázek načítal po řádcích odspodu jako při příkazu PRINT, je něco takového s rozpakovací utilitkou možné? Hádám že by oproti standardu nasypat to do videoRAM od začátku do konce vybrala vždy pás 8 řádků, nahrála je na spodek videoRAM a posunula ji celou o ten řádek nahoru jako PRINT. Obrázky by pak hezky "vylézaly."


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Scroll grafiky na PMD 85 v Basicu
PříspěvekNapsal: 11.08.2021, 05:40 
Offline
Profík

Registrován: 28.07.2018, 14:37
Příspěvky: 923
Has thanked: 43 times
Been thanked: 411 times
Tady se ale musím přiklonit k dříve uvedeným příspěvkům, že na tohle už je třeba asembler. Za chvíli by totiž ten BASIC sloužil jen jako "řadič" asemblerovských sekvencí a hra by z 90% byla psána stejně v něm. Jestli budeš na OCP, dáme řeč na téma asembler a možná přejdeš na tu pravou "víru"... Není to zase takový šok, jak by se mohlo zdát. A s emulátorem je ten vývoj SW i velice efektivní.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Scroll grafiky na PMD 85 v Basicu
PříspěvekNapsal: 11.08.2021, 14:05 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3814
Has thanked: 279 times
Been thanked: 456 times
Nebránil bych se určité nalévací konzultaci :lol: Bude záležet jak mi to v daném víkendu vyjde časově.

Nakonec jsem ideu obrázku na pozadí v Basicu opustil a spolehnul se na pseudografické znaky. To vypadá též celkem dobře a hlavně to běhá dostatečně rychle :-).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Scroll grafiky na PMD 85 v Basicu
PříspěvekNapsal: 12.08.2021, 13:09 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1975
Bydliště: Most, Praha
Has thanked: 870 times
Been thanked: 699 times
Neexistuje pro PMD 85 rozumný optimalizující C překladač běžící v PC? Vyvíjelo by se v emulátoru, programování by bylo stejně snadné jako v Basicu a výsledný program by byl skoro stejně rychlý a malý jako v assembleru. Případný C/Pascal překladač přímo v PMD by asi nestačil, neměl by dost paměti a výkonu na optimalizace kódu a překládal by nejspíš dost neefektivně.

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Scroll grafiky na PMD 85 v Basicu
PříspěvekNapsal: 12.08.2021, 13:37 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3814
Has thanked: 279 times
Been thanked: 456 times
Tuším že rombor něco napsal v Cčku, ale na PMD toho moc není. Mě se nic rozběhnout nepodařilo ale moc jsem do toho nešťoural. Většinou jsou to CP/M a Z80 specifické programy takže 8080 tu vychází trochu zkrátka.

V Mikrosu ale jde dobře použít imperialistický Pascal MT+, tu funkčně značně ořezanou verzi Pascalu z originálních ROM modulů bych nepočítal, to je RVHP-specifická didaktická pomůcka a ne plnotučné reálné vývojové prostředí. I s MT+ to ale psát přímo na PMD by bylo dost objemově problematické, nezbývá kdoví kolik paměti a musí nějaká zůstat i na překlad. Minimálně ale grafika tedy běhala na MT+ díky příkazům v Monitoru pěkně,viditelně líp než v Basicu když jsem to testoval i přes proklamace že je to čistě textové prostředí :-).

Ideální by ale bylo překládat na jiném počítači a tak se vyhnout omezení malé paměti.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Scroll grafiky na PMD 85 v Basicu
PříspěvekNapsal: 12.08.2021, 13:49 
Offline
Pan Štábní

Registrován: 12.05.2013, 22:24
Příspěvky: 1520
Bydliště: u Prahy
Has thanked: 44 times
Been thanked: 383 times
Na PMD běhá BDS C, to je to, které použil Rombor.
Jinak cross-compiler bude většinou pracovat se Z80, bylo by potřeba najít nějaký, který umí přepnout do 8080 režimu.
To by měl umět z88dk a Amsterdam Compiler Kit.
https://z88dk.org/site/
http://tack.sourceforge.net/
Pak se chystá SDCC pro 8080, ale nevím, jak je už daleko.
https://github.com/kenyapcomau/sdcc-8080
Případně, kdyby chtěl někdo slevit na Small-C, pak http://www.cpm.z80.de/small_c.html


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Scroll grafiky na PMD 85 v Basicu
PříspěvekNapsal: 12.08.2021, 20:58 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3814
Has thanked: 279 times
Been thanked: 456 times
Máte někdo (nejspíš asi rombor :-) ) funkční obraz diskety s BDS C pro PMD 85 do emulátoru, případně pár bodů jak to spustit v Mikrosu? Docela rád bych se na to podíval ale je tam spousta souborů a neumím vytvářet virtuální disky pro emulátor.


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ů: 41 ]  Přejít na stránku Předchozí  1, 2, 3  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 5 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