OldComp.cz
https://oldcomp.cz/

XY4150 a připojení k ZX přes 8255 včetně softwaru
https://oldcomp.cz/viewtopic.php?f=144&t=8549
Stránka 510

Autor:  RaceSoft [ 10.06.2020, 15:03 ]
Předmět příspěvku:  Re: XY4150 a připojení k ZX přes 8255 včetně softwaru

Myslím si, že OUT2 slouží jen pro spuštění nebo zvednutí pera - je tam docela dlouhá časová prodleva. Pro Minigraf 0507 doporučují na operace s perem cca 50ms. Tady to asi bude podobné.

Petr

Autor:  MTs [ 10.06.2020, 18:35 ]
Předmět příspěvku:  Re: XY4150 a připojení k ZX přes 8255 včetně softwaru

Martin1 píše:
Zabili ma skoky na Menu typu
Kód:
STARTI   ....
START0  jr STARTI
START1  jr START0
START2  jr START1
START3  jr START2


:D :lol: No je to sice drsné, ale ušetřil tím na každém skoku 1 byte. Jinak by musel dát JP a ten je o byte delší.
Psal to člověk rozhodně optimalizace znalý.

Autor:  MTs [ 11.06.2020, 10:28 ]
Předmět příspěvku:  Re: XY4150 a připojení k ZX přes 8255 včetně softwaru

Martin1 píše:
RaceSoft píše:
Adresa portu 63 se v celém programu (po příslušných samomodifikacích) podle mně vůbec nevyskytuje.

Noazaj tam nie je. Vzdy je zmenena podla potreby.


Opravdu to tam je a je a je! :)
Příloha:
out63.png
out63.png [ 40.46 KiB | Zobrazeno 1484 krát ]


Kontroloval jsem si, že spectaculator debugger se opravdu refreshuje podle samomodifikačního kódu. Funguje správně (ověřil jsem si i to SAMO1,2,3,4). Možná vás zmátl registr A. Jenže ten druhý out se modifikuje podle C :neener:

Stejně je ten kód ale síla.
Martin1 ale odvedl doboru práci s tím komentářem a úpravou. Díky.

Autor:  RaceSoft [ 11.06.2020, 11:58 ]
Předmět příspěvku:  Re: XY4150 a připojení k ZX přes 8255 včetně softwaru

Ano, modifikuje se přes registr C. A jak jsem napsal o pár příspěvků dříve:
Citace:
Netroufám si tipnout, jaká hodnota se vkládá do registru C (řádek 573), ale ve všech ostatních případech je výstupní port vždy rozdílný od 63.
Nekrokoval jsem celý kód, ale hnuli jsme se z místa, když na port 63 zapisuje jen 1x ze všech (tuším) 6-ti OUTů ve zdrojáku :D .

Petr

Autor:  Martin1 [ 12.06.2020, 15:53 ]
Předmět příspěvku:  Re: XY4150 a připojení k ZX přes 8255 včetně softwaru

MTs píše:
Opravdu to tam je a je a je!

Taaaak, a kód vydal všetky svoje tajomstvá.
Po 30+++ rokoch som sa dal na disassemblovanie kódu, ktorý napísal niekto iný. Bola to fuška :bang: , obzvlášť takýto samomodifikujúci kód.
Výsledok je prekvapivý:
Ovládač kreslí vektorovo, a nie bodovo, ako som predpokladal. Keďže zdrojové dáta sú binárna mapa riadku textu, ovládač konvertuje bitmapu na vektory na celkom geniálnom nápade takto:
1. najde prvý tlačiteľný bod v aktuálnom mikroriadku (riadok má 12 mikroriadkov)
2. spustí pero
3. pozrie sa na všetých 8 svetových strán, či je tam tiež bod na tlačenie
4. ak niečo nájde, posunie pero týmto smerom, pričom bod zo zdrojových dát odmaže,
5. body 3 a 4 sa opakujú, kým je tam nejaký priamo nadvazujuci bod v okolí
6. ak nič nenájde, zdvihne pero, vráti sa na pôvodný mikroriadok a hľadá v ňom ďalší tlačiteľný bod, zatiaľ motory stoja
7. opakuje sa od bodu 2, až kým nepríde po koniec mikroriadku
8. zistí, či pero je bližšie k pravému alebo ľavému okraju a ďalší mikroriadok začne skúmať z tejto strany

A vyzerá to tak, že po niekoľkých krokoch sa pero predsa len zdvihne a chvíľu čaká a potom sa spustí späť na papier. Snáď na dotečenie atramentu???

Port 63 (3F) sa používa len a iba pri kreslení bodu v okolí, teda keď je pero spustené. Číslo tohto portu nie je kóde, ale je iba v záverečných tabuľkách, ktoré majú 8 riadkov pre 8 možných smerov. Takže áno, naozaj tam je. Aj keď správne tam mal byť asi port FF. Nesúvisí vôbec so signálom Ready.
Autor napísal vcelku krátky ovládač, ale musel na niečom fičať :pivo:. Kód je od polovice šialenstvo.
Modifikácia na 8255 by mala byť v celku jednoduchá, aj keď určite nepôjde iba zámenou čísiel portov, ale modifikáciou príslušných rutín.
Modifikácia na Minigraf 0507 je tiež možná, ale kód bude trochu dlhší, otázne je, či je tam nejaký limit dĺžky kódu.
M1

Přílohy:
xy4150-comm-20200612.zip [7.98 KiB]
67 krát

Autor:  Ladislav [ 12.06.2020, 16:24 ]
Předmět příspěvku:  Re: XY4150 a připojení k ZX přes 8255 včetně softwaru

Martin1 píše:
Modifikácia na 8255 by mala byť v celku jednoduchá, aj keď určite nepôjde iba zámenou čísiel portov, ale modifikáciou príslušných rutín.
Modifikácia na Minigraf 0507 je tiež možná, ale kód bude trochu dlhší, otázne je, či je tam nejaký limit dĺžky kódu.
M1

JSTE MACHŘI !!!

Vím že budu nevděčný, neboť v tuto chvíli, jak se říká, Vám sežeru celou ruku po výše napsaném "nabídnutém prstu",
ale skutečně by to bylo možné napsat jak pro XY4150, tak i pro 0507? To by bylo DOKONALÝ :god:

Autor:  MTs [ 12.06.2020, 17:37 ]
Předmět příspěvku:  Re: XY4150 a připojení k ZX přes 8255 včetně softwaru

Martin1 píše:
Po 30+++ rokoch som sa dal na disassemblovanie kódu, ktorý napísal niekto iný. Bola to fuška :bang: , obzvlášť takýto samomodifikujúci kód.
...
Autor napísal vcelku krátky ovládač, ale musel na niečom fičať :pivo:. Kód je od polovice šialenstvo.


:clap: Jo jo, já zíral jak v debuggeru, tak při disassemblování když jsem převáděl adresy na návěští. Ale na naučení (zdokonalení) se určitě dobrá škola. Já jsem přesvědčen o tom, že ani samotný autor by se v tom dneska nevyznal a to ikdyby si šlehnul :)

Myslím si ale, že autora hodně nas*alo, když Universum udělal ovladač emulující jehličkovou tiskárnu a celý ploter tímto degradoval (zesměšnil). A možná to napsal tak optimalizované právě proto, aby z toho Universum pri případném disassemblování také šílel. :D

Jsi ale dobrý. Já bych to nezkoumal. Jen bych bajpásoval ty outy a dle hodnoty outu, kterou dostanu, modifikoval na hodnotu pro 8255 dle schématu zapojení. Volné místo by mi na to však nejspíše nestačilo (ale i to by možná šlo vyřešit zkrácením menu co se tiskne na obrazovku po EXT+i).

Autor:  Martin1 [ 13.06.2020, 06:59 ]
Předmět příspěvku:  Re: XY4150 a připojení k ZX přes 8255 včetně softwaru

Ladislav píše:
ale skutečně by to bylo možné napsat jak pro XY4150, tak i pro 0507? To by bylo DOKONALÝ

Neviem, ako je tam limitovaný priestor na ovládač. Ak je tých cca 1,5kB limit, muselo by sa oželieť to nastavovacie menu.
Ak si dobre pamätám, tak 0507 nemá logiku, takže tam treba "stepovať" softvérovo. To môže nejakých tých cca 100 bajtov pridať.
Principiálne to ale ide, 0507 síce mám, ale ten SW Universum´s Destop vôbec nepoznám.
M1

Autor:  Martin1 [ 13.06.2020, 07:07 ]
Předmět příspěvku:  Re: XY4150 a připojení k ZX přes 8255 včetně softwaru

MTs píše:
Já jsem přesvědčen o tom, že ani samotný autor by se v tom dneska nevyznal a to ikdyby si šlehnul :)

Tak to teraz vyzerá, že som si musel "šľahnúť" aj ja :-), keď som to dal.
Akurát sme sa pred pár dňami bavili s manželkou o trénovaní mozgu ako prevenciu proti Alzheimerovi, tak som to poňal ako cvičenie.
A teda ma to precvičilo poriadne, niektoré rutiny som pochopil až na druhý či tretí pohľad a komentáre som musel upravovať.
Ale postupne sa to odkrývalo aj vrátane premenných a tabuliek.
M1

Autor:  MTs [ 13.06.2020, 09:52 ]
Předmět příspěvku:  Re: XY4150 a připojení k ZX přes 8255 včetně softwaru

Martin1 píše:
Ladislav píše:
ale skutečně by to bylo možné napsat jak pro XY4150, tak i pro 0507? To by bylo DOKONALÝ

Neviem, ako je tam limitovaný priestor na ovládač. Ak je tých cca 1,5kB limit, muselo by sa oželieť to nastavovacie menu.
Ak si dobre pamätám, tak 0507 nemá logiku, takže tam treba "stepovať" softvérovo. To môže nejakých tých cca 100 bajtov pridať.
Principiálne to ale ide, 0507 síce mám, ale ten SW Universum´s Destop vôbec nepoznám.
M1


1680 bajtů je strop. Víc ani ťuk. Na menu, inicializaci i vlastní tisk. Desktop je super (nejlepší texťák pro ZXS jaký kdy vzniknul). Co já se v něm napsal a natisknul, hlavně do školy...

Autor:  Ladislav [ 13.06.2020, 15:39 ]
Předmět příspěvku:  Re: XY4150 a připojení k ZX přes 8255 včetně softwaru

Martin1 píše:
Ladislav píše:
ale skutečně by to bylo možné napsat jak pro XY4150, tak i pro 0507? To by bylo DOKONALÝ

Neviem, ako je tam limitovaný priestor na ovládač. Ak je tých cca 1,5kB limit, muselo by sa oželieť to nastavovacie menu.
Ak si dobre pamätám, tak 0507 nemá logiku, takže tam treba "stepovať" softvérovo. To môže nejakých tých cca 100 bajtov pridať.
Principiálne to ale ide, 0507 síce mám, ale ten SW Universum´s Destop vôbec nepoznám.
M1

Ze stávajícího MENU pro XY jsem vždy využil jen změnu rychlosti pro lepší vykreslování a inicializaci
stiskem “nový papír”. Ostatní funkce by se tím pádem mohly vypustit a i ta inicializace by v podstatě mohla proběhnout s vyvoláním utility EXT+I.

Autor:  Martin1 [ 13.06.2020, 20:20 ]
Předmět příspěvku:  Re: XY4150 a připojení k ZX přes 8255 včetně softwaru

MTs píše:
1680 bajtů je strop. Víc ani ťuk. Na menu, inicializaci i vlastní tisk.

OK, to dám. Mám tam 36 bajtov voľných. :D
Po rokoch už neviem už nájsť k 0507 príručku. Platí zapojenie, čo má Cygnus na stránke?
Prípadne zverejnite aj zapojenie, ako by mala byť pripojená XY4150 na UR-4, skúsim upraviť aj to.
M1

Autor:  Ladislav [ 13.06.2020, 21:16 ]
Předmět příspěvku:  Re: XY4150 a připojení k ZX přes 8255 včetně softwaru

Martin1 píše:
MTs píše:
1680 bajtů je strop. Víc ani ťuk. Na menu, inicializaci i vlastní tisk.

OK, to dám. Mám tam 36 bajtov voľných. :D
Po rokoch už neviem už nájsť k 0507 príručku. Platí zapojenie, čo má Cygnus na stránke?
Prípadne zverejnite aj zapojenie, ako by mala byť pripojená XY4150 na UR-4, skúsim upraviť aj to.
M1

Ano zapojení podle ZXcygnusovy stránky platí a v příloze zasílám zapojení XY na 8255.
Diiiky moc a držím palce!

Přílohy:
F1BE4713-D59A-4BD9-9647-CA22738BADEC.png
F1BE4713-D59A-4BD9-9647-CA22738BADEC.png [ 66.38 KiB | Zobrazeno 1315 krát ]

Autor:  Martin1 [ 13.06.2020, 21:38 ]
Předmět příspěvku:  Re: XY4150 a připojení k ZX přes 8255 včetně softwaru

Ladislav píše:
příloze zasílám zapojení XY na 8255.

Takže by to malo byť asi takto:
1 PEN (PB2)
2 MOV (PB5)
3 X/Y (PB4)
4 +/- (PB3)
5 RDY (PB6+PC5)
6 GND (GND)
7 NC

Autor:  Ladislav [ 13.06.2020, 21:51 ]
Předmět příspěvku:  Re: XY4150 a připojení k ZX přes 8255 včetně softwaru

Martin1 píše:
Ladislav píše:
příloze zasílám zapojení XY na 8255.

Takže by to malo byť asi takto:
1 PEN (PB2)
2 MOV (PB5)
3 X/Y (PB4)
4 +/- (PB3)
5 RDY (PB6+PC5)
6 GND (GND)
7 NC

Ano, je to tak

Stránka 510 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/