OldComp.cz

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


Právě je 28.03.2024, 16:36

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 15 ] 
Autor Zpráva
 Předmět příspěvku: Komentovaný výpis ovladače k XY 4130
PříspěvekNapsal: 09.04.2020, 10:40 
Offline
Profík

Registrován: 15.01.2014, 20:08
Příspěvky: 782
Bydliště: Šlapanice
Has thanked: 129 times
Been thanked: 97 times
Nemá někdo náhodou komentovaný výpis ovladače k souřadnicovému zapisovači XY 4130 či podobného. Mám ovladač do SAPI-1 ZPS-2 který zachránil MELSOFT (pokut se nepletu), ten ovladač nastaví XY 4130 jako systémovou tiskárnu. Snažím se v tom trochu hrabat a zjistit co ten ovladač všechno umí, jenže se nemám čeho chytit, k MINIGRAFu mám komentovaný výpis ovladače ale jediné co jsem zatím našel, že oba ovladače mají z 99% společné jen tabulku znaků. Plus identifikoval nějaké drobnosti kolem nastavování systémových služeb, a taky to že ovladač jede pouze pod MONITORem V5.0.


Přílohy:
Poznámka: Ovladač pro XY 4130 (od 1800H) ze SAPI-1 ZPS-2 a pokus o disasemblování.
ovl_XY1430.zip [13.24 KiB]
501 krát

_________________
Ne všichni jsme měli z češtiny za jedna, aneb jsem dyslektik a dysgrafik.

http://www.sapi.cz/
Nahoru
 Profil  
 
PříspěvekNapsal: 09.04.2020, 13:49 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3766
Has thanked: 269 times
Been thanked: 452 times
To je dobrá zpráva, to by se pak dal napsat ovladač i pro PMD 85, který by si hověl v jiné části RAM než ovladač pro PMD-32SD a protože už je funkční formát textového grafického zápisu, dalo by se ukládat a tisknout na disketu, což by zase byla jiná liga než kazeťák a byla by zajištěna kompatibilita mezi různými programy i 8bity. RAM by na to bylo určitě dost, PMDGRAF v Basicu zabere 6,6 kB a odpadlo by prvních 9 kB co zabere Basic samotný kdy ovladač má taky 6,5 kB tedy nula z nuly by pošla. V návodu XY4131 pro PMD jsou na straně 21 nějaké POKE adresy na změny parametrů ovladače, třeba by ti to mohlo trochu usnadnit ideovou rozborku a sborku.


Nahoru
 Profil  
 
PříspěvekNapsal: 09.04.2020, 17:42 
Offline
Radil
Uživatelský avatar

Registrován: 13.05.2013, 17:48
Příspěvky: 529
Bydliště: Košice
Has thanked: 423 times
Been thanked: 265 times
Ako obvykle, nespomínam si, odkiaľ ten assemblerový výpis ovládača XY-41xx pre PMD 85-2 mám a teda ani, kto je autorom...
Nie je okomentovaný úplne a je v mnemonike Z80.
http://pmd85.borik.net/_work/XY4131-ovladac.asm.zip

_________________
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říspěvekNapsal: 09.04.2020, 18:26 
Offline
Profík

Registrován: 15.01.2014, 20:08
Příspěvky: 782
Bydliště: Šlapanice
Has thanked: 129 times
Been thanked: 97 times
No mnemoniku Z80 nemusí (spíš ji nesnáším) aneb půlka kódu je LD. Po zběžném prohlédnutí jsem došek k závěru ze je to nad mé sily se v tom vyznat, a co jsem tak pochopil tak je ten ovladač umístěn vedle VRAM … masakr. :hang:

Ale už jsem s tím ovladačem ze SAPI-1 trochu pohnul aneb jádro je shodné s tím od MINIGRAFu. Aneb když to nešlo ze předu tak jsem to zkusil od zadu tj. od tabulky znaku a prakticky rutina co kresli jednotlivé znaky je stejná, a odtam jsem se chytil k dalším rutinám které se tváří velice podobně ne-li stejně. Jinak ten ovladač ze SAPI-1 umožňuje mít alternativní tabulky znaku. Rek bych že překopat ten ovladač na MINIGRAF by neměl bít moc velký problém.

_________________
Ne všichni jsme měli z češtiny za jedna, aneb jsem dyslektik a dysgrafik.

http://www.sapi.cz/


Nahoru
 Profil  
 
PříspěvekNapsal: 09.04.2020, 19:02 
Offline
Profík

Registrován: 06.03.2018, 16:00
Příspěvky: 955
Bydliště: Valtínov, Kunžak
Has thanked: 39 times
Been thanked: 471 times
rombor píše:
Ako obvykle, nespomínam si, odkiaľ ten assemblerový výpis ovládača XY-41xx pre PMD 85-2 mám a teda ani, kto je autorom...
Nie je okomentovaný úplne a je v mnemonike Z80.
http://pmd85.borik.net/_work/XY4131-ovladac.asm.zip


Přiznávám se, spáchal jsem to já :D . Ale dál se v tom vrtat už to bylo nad moje síly, tak jsem to nechal tak...

Petr


Nahoru
 Profil  
 
PříspěvekNapsal: 10.04.2020, 22:43 
Offline
Profík

Registrován: 15.01.2014, 20:08
Příspěvky: 782
Bydliště: Šlapanice
Has thanked: 129 times
Been thanked: 97 times
Tak jsem se dostal do stavu, že začínám mít problém se tím prokousávat dál. Až na jednu službu se mi povedlo všechny identifikovat. Ta neidentifikovaná služba něco pravděpodobně tiskne ale co konkrétně netuším. Ovladač má při tisku znaků několik řídících znaku ale u některých si nejsem jist co konkrétně dělají. Identifikovat jak je ten souřadnicový zapisovač XY41xx připojen k PORTRu 3 na JPR-1 je zatím nad mé sílí. Nové souřadnice se předávají v registrech <BC> a <DE>. Znak pro tisk je v registru <C>, adresa definiční tabulky znaku je přes <HL>, adresa parametru pro novou velikost znaku je tak v registru <HL>. ovladač umí znaky s diakritikou a to s největší pravděpodobností podle KOI-8CS. Vypadá to, že nula souřadnicového systému je v právem dolním rohu. Při tisku textu je se nepočítají znaky ani řádky ale hlídá se zda se nedojede k „0“ (na nulu se hlídá je vyšší byte) na ose X nebo ose Y. Po dojetí na konec X nebo Y je vyžádáno o založení nového listu papíru. Pokut se provedou grafické příkazy a pak se začne tisknout text tak se začne tisknout od výchozího bodu tj. z levého horního rohu. Aby bylo možno umístit text libovolné tak je nutno použít k tomu určenou službu.

Par postřehu, vystavení do výchozí polohy je nějaké divné nebo jsem ho nepochopil, co tím básník chtěl říct. Na adresách 4289H až 42A0 jsou konstanty a u některých nemám páru, co jsou zač, ale některé asi mají něco společného s ‚řízením rychlosti tisku.

Pokut by se na to někdo podíval a případně mně s tím pomohl tak bych bil rád.


Přílohy:
Poznámka: částečně okomentovaný ovladač ze SAPI-1 pro XY4131
M5XY.zip [8.59 KiB]
449 krát

_________________
Ne všichni jsme měli z češtiny za jedna, aneb jsem dyslektik a dysgrafik.

http://www.sapi.cz/
Nahoru
 Profil  
 
PříspěvekNapsal: 11.04.2020, 11:20 
Offline
Profík

Registrován: 15.01.2014, 20:08
Příspěvky: 782
Bydliště: Šlapanice
Has thanked: 129 times
Been thanked: 97 times
Tak jsem to, co jsem spáchal, protáhl překladačem a těch chyb co tam bylo …. Takže to teď sedí s binárkou.


Přílohy:
Poznámka: Částečně okomentovaný a pravený ovladač ze SAPI-1 pro XY4130
M5XY.zip [30.54 KiB]
460 krát

_________________
Ne všichni jsme měli z češtiny za jedna, aneb jsem dyslektik a dysgrafik.

http://www.sapi.cz/
Nahoru
 Profil  
 
PříspěvekNapsal: 11.04.2020, 19:15 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3766
Has thanked: 269 times
Been thanked: 452 times
A dal by se ten ovladač (po úpravách volaných rutin MONITORu apod.) dostat i do PMD aby se uvolnilo místo kolem videoRAM pro ovladač PMD 32-SD, který ji už využívá? Kdyby ano, stačilo by PMDGRAF přepsat do assembleru, lehce upravit část pro načítání a ukládání souborů na disketovku a mohlo by se tisknout z SD karet až by se prášilo za kočárem :-).


Nahoru
 Profil  
 
PříspěvekNapsal: 12.04.2020, 12:35 
Offline
Profík

Registrován: 15.01.2014, 20:08
Příspěvky: 782
Bydliště: Šlapanice
Has thanked: 129 times
Been thanked: 97 times
Tak jsem se prokousal celým ovladačem i, jsem se dopídil jak je připojena XY41xx k portu 3 na JPR-1. Ten kód na ovládání je složitý jak mlátička, taky střeva těch souřadnicových zapisovačů XY4130 až XY4150 jsou složitý jak mlátička. Jediné co mne napadá proč je to tak celé složité je použitý konektor, aneb chtěli použít konektor s aretací a to ještě z domácí produkce. A to tam moc na výběr není, v postatě více polovy konektor s aretaci je WK180 80 což je 12 pólová verze WK180 33. Osobně mám radši MINIGRAF, aneb ten je očesán v elektronice skoro na kost, jediné co má z elektroniky je zdroj a dekodéry pro krokové motory a ty dekodéry jsou řešeny pomoci MH7403 místo PROM. Mechanika je taky maximálně zjednodušena ale velmi bytelná. Je ten konektor je těžce hračkojidní. Ale na druhou stranu ovládání MINIGRAFu je velice jednoduché. Výstup podprogramu SMR vrací hodnoty 0, 1 a -1, které stačí přičíst k současnému stavu motoru a vystavit na port.

Povedla se identifikovat i poslední služba a tou je tisk celé znakové sady tj. od 10H po FFH ale v reálu se znaky 18H -1FH přeskočí. Nezbilo místo pro data.

Povedlo se i identifikovat řídící znaky při tisku textu, pokut přijde 00H tak je přejde do režimu grafického znaku tj. je možno si vytisknout vlastní znak. Pravidla jsou stejná jak při definováni znaku v znakovém generátoru, včetně ukončení. Znaky 0EH a 0FH zapínají a vypínají diakritiku tj. místo znaku 7BH až 7FH se tisknou diakritická znaménka. Mám pocit že diakritický režim se vypne jakmile dojde k vytisknutí znaku.

Mam pocit že ten ovladač měl brášku a to ve verzi pro MINIGRAF, rozdílu by bilo minimum, samořezně vlastní podprogram ovládaní krokových motoru, úvodní hláška, konstanty pro výchozí nastaveni pisátka a pravděpodobně by u mněl tisknou znaky 18H až 1FH aneb ovládaní motoru je o dost kratší.

Nenašel by se někde popis možností této varianty ovladače tj. nemusí to byt pro SAPI-1

Dost koketuji s myšlenkou, že ten ovladač překopu pro MINIGRAF.

Czech Human píše:
A dal by se ten ovladač (po úpravách volaných rutin MONITORu apod.) dostat i do PMD aby se uvolnilo místo kolem videoRAM pro ovladač PMD 32-SD, který ji už využívá? Kdyby ano, stačilo by PMDGRAF přepsat do assembleru, lehce upravit část pro načítání a ukládání souborů na disketovku a mohlo by se tisknout z SD karet až by se prášilo za kočárem :-).

Ten ovladač z PMD má spoustu vychytávek jako kreslení kružnic, štráfování a těžce je včleněn do BASICu. Kdežto ten ovladač ze SAPI-1 je vykuchaný na kost. Jeho hlavní úlohou je tisk znaků tj. degradace souřadnicového zapisovače na tiskárnu. Z grafiky podporuje jen ty nejzákladnější funkce a to dostupné jen přes asembler tj. souřadnice X a Y se předávají přes registry BC a DE. Což ani nejde volat tyto funkce přímo z BASICu přes CALL a USR. Ale jo je zdrojový kód a to ne jediný takže se tato část nemusí vymýšlet od začátku, ale toho psaní bude pořád dost.


Přílohy:
Poznámka: Snad finální verze okomentovaného ovladače ze SAPI-1 pro XY4130
M5XY.zip [45.06 KiB]
461 krát

_________________
Ne všichni jsme měli z češtiny za jedna, aneb jsem dyslektik a dysgrafik.

http://www.sapi.cz/
Nahoru
 Profil  
 
PříspěvekNapsal: 13.04.2020, 09:58 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3766
Has thanked: 269 times
Been thanked: 452 times
Aha, já si myslel že to bude á la na jedno brdo když hýbání souřadnic řídí příkazy Basicu. Ale to je tím, že zatím nemám možnost si k tomu fyzicky sednout a vidět co se děje. Kdyby ovladač uměl opravdu kreslit kružnice apod. voláním jeho částí napřímo, jen ze zadání vstupních dat typu střed a poloměr, dalo by se vykreslování v PMD dost urychlit - nebyl by potřeba pomalý Basic a výpočet bod po bodu. Ideální by bylo ten ovladač nalámat někam do souvislé paměti aby nestrašil kolem VRAM a otestovat to ale na to nemám znalosti.


Nahoru
 Profil  
 
PříspěvekNapsal: 13.04.2020, 13:24 
Offline
Profík

Registrován: 15.01.2014, 20:08
Příspěvky: 782
Bydliště: Šlapanice
Has thanked: 129 times
Been thanked: 97 times
Ono si stačí přečíst komentáře u obou disassemblerovavých ovladačů … a budeš mít plus minus představu co oba ty ovladače umí. S tím kreslením kružnic u ovladače z PMD jsem se asi upsal ale i chtělo by to návod co to vlastně umí.
Pokut jde o to, že bis udělal tisk do soboru a pak to vytiskl… no v jakém formátu se ty grafická data budou ukládat… máš několik řešení a to buď použiješ formát HPGL ale ten je v dost jemných anglosaských jednotkách, nebo nějaký svůj, nebo tu máš řešení s externí inteligencí, co vyšlo v příloze AR/ME90 (základ tvoří JPR-1) aneb se to připojí jako klasická tiskárna a tisk i grafika se provádí jako tisk na normální tiskárnu. Pro grafiku to používá vlastní formát dat, který je dost inspirována z grafiky na SHARP MZ800.

Ta inteligence z AR/ME90 pracuje s MINIGRAFem ale po tom co jsem se prokousal tím ovladačem ze SAPI-1 tak nebude problém tam dodělat možnost mít připojenou i XY41xx.

Tu inteligenci z AR/ME90 mám postavenou a i jsem se vtom kódu dost šoural a přidal jsem tam mimo jiné několik znakových sad k té původní a to, KOI-8ČS-2, PC bratři kameničtí, PC 437, PC latin2 852, ISO 8859-2 a WIN-1250.

Jinak matematická knihovna v plovoucí čárce pro I8080A má 2KB.

_________________
Ne všichni jsme měli z češtiny za jedna, aneb jsem dyslektik a dysgrafik.

http://www.sapi.cz/


Nahoru
 Profil  
 
PříspěvekNapsal: 13.04.2020, 16:48 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3766
Has thanked: 269 times
Been thanked: 452 times
Pokusím se, až bude kdy. Ale assembleru nerozumím. Formát jsem si už vytvořil vlastní viz pmdgraf pro pmd 85 ale ten je spojený s basicovou verzí pro PMD 85 v 2.0 kvůli ovladači a potřebuje po samotné portaci ovladače ještě přepsat pro další platformy aby se dal použít i na jiném počítači. Ideální by byla verze pro CP/M, ten běhá na lecčem a hned by fungovala disketovka. Ale to je zatím taky mimo mé schopnosti. Stejně tak hraní si s ovladači, jejich úpravy apod. to už je taky pro mě vyšší dívčí.


Nahoru
 Profil  
 
PříspěvekNapsal: 13.04.2020, 18:48 
Offline
Profík

Registrován: 15.01.2014, 20:08
Příspěvky: 782
Bydliště: Šlapanice
Has thanked: 129 times
Been thanked: 97 times
Tak jsem se pokusil dohledat něco ohebně toho tvého PMGRAF a pokut jsem pochopil správně tak ta externí inteligence z AR/ME90 ti ušetří spoustu bolení hlavy. Pokut ten PMGRAF je napsaný v BASICu tak tam bude stačit pod grafické příkazy dopsat LPRIN s potřebními parametry. Aneb tisk na tiskárnu snad umí všechny BASICi. A portace bude velice jednouchá a daný stroj nemusí podporovat žádný souřadnicový zapisovač.

Ted neručím že to bude syntakticky správně ale jde o princip.
Ta inteligence z AR/ME90 nemá obdobu SCALE, ale šlo by dodělat anebo to prostě spočítá BASIC.
MOVE X,Y by bylo LPRINT “M“,X,“,“,Y(vylézt má Mx,y)
PLOT X,Y by bylo LPRINT “K“,X,“,“,Y(vylézt má Kx,y)

Čísla co polezou do inteligence musí byt celá v rozsahu -9999 až 9999. Druhá věc je ta ze ta inteligence má 256byte buffr takže při tisku bude BASIC čekan na inteligenci, než to vykreslí, takže pomalost při výpočtech nebude vadit.

_________________
Ne všichni jsme měli z češtiny za jedna, aneb jsem dyslektik a dysgrafik.

http://www.sapi.cz/


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

Registrován: 07.07.2019, 22:14
Příspěvky: 3766
Has thanked: 269 times
Been thanked: 452 times
Já vlastně ani nevím jak rychle to v reálu kreslí protože nemám tu kombinaci k dispozici :cry: a jedu jen na emulátoru. Rovné čáry to bude kreslit rychleji než plotr kreslí když nebudou mít 2 cm ale křivky a kruhy jsou díky spoustě vět synových a Kozinových ve stylu Lomikare Lomikare, do roka ha do dne. Samozřejmě dá se tomu "pomoct" snížením přesnosti na úkor kostrbatosti ;-).

Inteligence je šikovná věc, z 4131 udělá jakoby 4160 pokud to chápu v obrysech dobře. Jen se musí fyzicky doplnit a záleželo by jak přesně ten formát dat chce dostat, ten můj samodomo by jí nemusel chutnat :-).

Pokud by ale stačilo LPRINT či v PMD snad PRINT # tak ten program není nic složitého, rombor napsal ještě o dost rychlejší verzi se strojovými rutinkami co obchází práci s poli v PMD basicu a tím pádem by se daly vyrábět i větší soubory než standardních 3,3 kB na úkor kompatibility s čistě basicovou verzí programu. Až dokončím aktuální projekt rád se tomu budu věnovat.


Nahoru
 Profil  
 
PříspěvekNapsal: 13.04.2020, 21:22 
Offline
Profík

Registrován: 15.01.2014, 20:08
Příspěvky: 782
Bydliště: Šlapanice
Has thanked: 129 times
Been thanked: 97 times
Pokut jde o rychlost kreslení na souřadnicovém zapisovači tak ta je řádově pomalejší než se to bude kreslit čistě na obrazovku. Za každým krokem s motory nebo spuštěním/zvednutím pisátka následuje čekací smyčka, aneb ty motory zvládají max. 400Hz tj. pro MINIGRAF u XY41xx to bude podobné (u MINGRAFu je max. posuv 50mm/s u XY41xx to bude asi 40mm/s, MINIGRAF má 8 kroku na 1mm kdežto XY41xx má 10 kroku na 1mm). Jinak na trubce je dost videí jak s MINIGRAFem tak s XY41xx takže tam si můžeš udělat představu o rychlosti kreslení.

Ano tou inteligencí z AR/ME90 vznikne něco ve stylu XY4160. Jak jsem se zmiňovat tak ta inteligence má buffr 256bytu takže oraz na obrazovce bude v předstihu před tím, co bude na papíře. Ta inteligence umí jen bod, přesun a vektor a to bud absolutně nebo relativně. V absolutním režimu je to ekvivalent příkazů MOVE (přesun) a PLOT (vektor). Ano stačilo by doplnit jen PRINT # a asi i nějakou funkci na převod na celá čísla, aneb ta inteligence neumí desetinná čísla. Ta inteligence momentálně umí jen MINIGRAF ale potom co jsem se prokousal ovladačem pro SAPI-1 pro XY4130 tak bych bil chopen tu inteligenci překopat, aby uměla oba zapisovače. Mám jak MINIGEAF tak i XY4140/50 (teda nevím v jakém stavu mám ty XY) takže by bylo na čem testovat. Další věcí je že by asi bilo vhodné to předělat z JPR-1 (základ inteligence) na něco co jede jen na 5V.

_________________
Ne všichni jsme měli z češtiny za jedna, aneb jsem dyslektik a dysgrafik.

http://www.sapi.cz/


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ů: 15 ] 

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 2 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:  
cron
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz