OldComp.cz

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


Právě je 27.04.2024, 08:37

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 24 ]  Přejít na stránku 1, 2  Další
Autor Zpráva
 Předmět příspěvku: Tisk z DESKTOPu na ZX PRINTER
PříspěvekNapsal: 18.02.2024, 11:43 
Offline
Radil

Registrován: 13.03.2016, 18:54
Příspěvky: 303
Has thanked: 130 times
Been thanked: 88 times
Zjistil jsem, že v Česku je poměrně hodně lidí, co vlastní ZX Printer nebo Alphacom tiskárnu.
Bohužel Desktop žádný tisk na tyto zařízení neumožňuje.
Byl by prosím někdo z komunity ochotný napsat jednoduchý plugin, který by ten tisk zvládl ?
Pochopitelně za dodržení podmínky, že text a obrázky by byly max na šířku obrazovky tzn. 256 bodů.
ZX Printer nemá žádné možnosti řídících kódů ani nastavení takže bych ten plugin mohl být skutečně jednoduchý.
Ovladač už má Spectrum v sobě, takže jenom nějak poslat jednotlivé řádky na tiskárnu.

Umíme tisknout na ZX Printer z D-textu, ale protože je to písmo 4x8 bodů, je téměř nečitelné.
Jsou tady sice další editory jako ZX603 nebo Text machine, ale myslím si že Desktop je jednoznačně nejrozšířenější.

Děkuji Chip


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Tisk z DESKTOPu na ZX PRINTER
PříspěvekNapsal: 18.02.2024, 12:43 
Offline
Kecálek

Registrován: 01.02.2015, 14:30
Příspěvky: 120
Bydliště: Margecany
Has thanked: 265 times
Been thanked: 20 times
No ja to nezvládnem napísať ale ak by bol nejaky plugin bol by som rad a desktop ke najrozsirenejsi to je fakt.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Tisk z DESKTOPu na ZX PRINTER
PříspěvekNapsal: 18.02.2024, 13:10 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 12.05.2013, 21:39
Příspěvky: 1984
Bydliště: Praha
Has thanked: 85 times
Been thanked: 255 times
ZX Printer je jedna ze Sinclairovych silenosti, skoro nepouzitelne, ale Alphacom 32 jsem si oblibil, ten tiskne pekne (a prekvapive rychle), i kdyz zase na termopapir, tak ho pouzivam u ZXS snad nejvic.

Alphacom 32 je kompatibilni se ZX Printer a tiskne primo z ROM, ktera umi i tisk screenu (bitmapy), takze s jejim vyuzitim napsat ovladac by nemuselo byt tak slozite (pro sikulu).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Tisk z DESKTOPu na ZX PRINTER
PříspěvekNapsal: 18.02.2024, 13:19 
Offline
Pan Štábní

Registrován: 12.05.2013, 22:24
Příspěvky: 1524
Bydliště: u Prahy
Has thanked: 44 times
Been thanked: 386 times
Utilitu pro tisk na ZX Printer pro Desktop jsem kdysi napsal pro Matsofta, chtěl to využít na Seikoshe GP-50.
Ta ale s rutinou outující přímo na port nefungovala.
Hádám, že tyhle “ZX Printer emulující” tiskárny mají vlastní ROM a svoji ovládací rutinu.
Možná, že se zachovala na disketách od Starsofta, ale ty nemám všechny načtené (chybí načíst 5,25” diskety pro D40 a HD diskety pro mB-02+).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Tisk z DESKTOPu na ZX PRINTER
PříspěvekNapsal: 18.02.2024, 14:26 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3675
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 798 times
Tip pre toho, kto by chcel ten driver napisat:

1. Vytvorit bitmapu jedneho riadku v ZX Print bufferi na #5B00
2. Otvorit kanal #3 a poslat tam kod 13 cez RST #10

Ta bitmapa na #5B00 ma klasicky format - kazdych 32 bajtov je jeden 256-pixelovy riadok (presne tak isto ako na screeene) a takto za sebou nasleduje linearne 8 pixelovych riadkov.

Dalsie tipy:
A. Driver by eventualne mohol kontrolovat bit 4,(IY+1), ak je nastaveny tak by rovno hodil chybu ze v 128/+3 basicu nie je ZX printer podporovany.
B. Namiesto RST #10 pouzit volanie do romky #0ECD - vytlaci sa to sice aj v 128/+3 basicu, ale basic ako taky sa zosype.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Tisk z DESKTOPu na ZX PRINTER
PříspěvekNapsal: 18.02.2024, 14:58 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 903
Has thanked: 51 times
Been thanked: 230 times
chip128 píše:
Byl by prosím někdo z komunity ochotný napsat jednoduchý plugin, který by ten tisk zvládl ?

Ako by si rozdelil jeden riadok textu na dva riadky na tlaciarni?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Tisk z DESKTOPu na ZX PRINTER
PříspěvekNapsal: 18.02.2024, 15:02 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 903
Has thanked: 51 times
Been thanked: 230 times
Busy píše:
1. Vytvorit bitmapu jedneho riadku v ZX Print bufferi na #5B00
2. Otvorit kanal #3 a poslat tam kod 13 cez RST #10

Dalsie tipy:
A. Driver by eventualne mohol kontrolovat bit 4,(IY+1), ak je nastaveny tak by rovno hodil chybu ze v 128/+3 basicu nie je ZX printer podporovany.
B. Namiesto RST #10 pouzit volanie do romky #0ECD - vytlaci sa to sice aj v 128/+3 basicu, ale basic ako taky sa zosype.


Driver moze mat myslim 1680 bajtov, takze by sa tam mohol zmestit cely kod.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Tisk z DESKTOPu na ZX PRINTER
PříspěvekNapsal: 18.02.2024, 15:35 
Offline
Pan Štábní

Registrován: 12.05.2013, 22:24
Příspěvky: 1524
Bydliště: u Prahy
Has thanked: 44 times
Been thanked: 386 times
Já to dělal tak, že při "inicializaci tiskárny" přeformátovala utlita aktuální text v Desktopu na šířku 256 bodů.
(Tato část používala podporgram Desktopu pro posun obsahu obrazovky o bod doleva a doprava, aby bylo vidět, že se něco udělalo - zatřásla se obrazovka).
Moje utilita měla přímo OUT na port ZX Printeru pro posun vozíku a pro aktivaci jiskřítka.
Hlídala si poslední tištěný řádek bloku textu, aby na poslední dva mikrořádky zpomalila posun tak, jak to dělá ROMka.
Tisky do kanálů ani jiné fičury ROM jsem nevyužíval.
Celé to mělo kolem sta bajtů, volného místa nehorázně.

Ale jak dím, ZX Printer chodil, ale Seikosha s tím ani neťukla.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Tisk z DESKTOPu na ZX PRINTER
PříspěvekNapsal: 18.02.2024, 21:27 
Offline
Profík

Registrován: 21.10.2018, 08:27
Příspěvky: 560
Has thanked: 284 times
Been thanked: 139 times
Za šanci tisknout z Desktopu na ZX Printeru bych byl vděčen mírou nejvyšší.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Tisk z DESKTOPu na ZX PRINTER
PříspěvekNapsal: 19.02.2024, 15:58 
Offline
Radil

Registrován: 13.03.2016, 18:54
Příspěvky: 303
Has thanked: 130 times
Been thanked: 88 times
Velké poděkování MTS, který moji myšlenku zrealizoval.
Příloha:
zxprint5.zip [22.32 KiB]
28 krát

Poprosil bych všechny, kteří maji možnost, aby plugin otestovali.
Na realných tiskárnách i v emulátoru, případně se vyjádřili k vylepšení.
Každá zpětná vazba se bude hodit.

Se souhlasem autora přikládám mailovou komunikaci:
---------------------------------------
Ahoj,
Je to opravdu primitivní kratičká rutinka, kterou jsem vlastně jen opsal z ROM a doplnil o specifika DESKTOPU (1 volání = 12 mikrořádků grafiky)

V zipu najdeš 4 soubory:
zxprint4.tap - samostatná utilita do desktopu (nahrává se klasicky na adresu 46520)
prometh_zxprint4.wri - zdrojový text jako TXT soubor
prometh_zxprint4.D_0 - diskový formát, zdrojový text do Promethea
desktop.Z80 - SNAP Desktopu už s nahranou utilitou vevnitř Můžeš rovnou vyzkoušet něco napsat a tisknout v PC emulu

EXT p v Desktopu vyvolá tisk označeného bloku (EXT o) na tiskárně ZX PRINTER
EXT i v Desktopu provede inicializaci tiskárny - odešle pouze OUT (#FB),4 a vrátí se do Desktopu
V Desktopu může být libovolná šířka stránky, tisknout se bude vždy jen 256 bodů, ostatní program se zahodí !!!

Po dokončení tisku je dobré provést EXT i, protože tiskárna očividně (dle emulu) "visí" neustále v tisku.

Náměty na vylepšení:
- Po "EXT i" třeba i něco vypsat na obrazovku (info, že jde o ZX printer, nějaké menu - např. po stisku P třeba hned vyvolat tisk bloku:
ld a,"p"
push af
ld hl,(55003)
call 52564
pop af
ld sp,(48243)
set 1,(iy+118)
jp 48452

- přidat volbu pomalého tisku (slow motor ON) , ve zdrojáku je komentář, stačí změnit číslo reg. D na vstupu.

- test, že ZX printer není připojen + výpis této hlášky uživateli na status lištu

- když se text vytiskne celý, tak poslat i ten OUT (#FB),4 což tiskárnu vrátí do základního ready režimu (zde je trochu oříšek, protože už si neuvědomuju, jestli vůbec lze nějak jednoduše detekovat, že se tiskne poslední mikrořádek z celého označeného bloku...)


No a nakonec mám dotaz, na který bych rád znal odpověď: Proč při BASIC příkazu COPY se pouze poslední dva mikrořádky tisknou v tom zpomaleném (SLOW) režimu ?

Hoď klidně celý tento email i s přílohou na OLDCOMP. Budu rád když z toho něco vylepšeného vznikne :-)

Měj se fajn, MTS


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Tisk z DESKTOPu na ZX PRINTER
PříspěvekNapsal: 19.02.2024, 19:47 
Offline
Profík

Registrován: 21.10.2018, 08:27
Příspěvky: 560
Has thanked: 284 times
Been thanked: 139 times
Diky moc!


Přílohy:
zxprinter.png
zxprinter.png [ 443.73 KiB | Zobrazeno 496 krát ]
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Tisk z DESKTOPu na ZX PRINTER
PříspěvekNapsal: 19.02.2024, 20:01 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3675
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 798 times
chip128 píše:
zdrojový text do Promethea
Coze ?!?! To este dnes niekto pouziva ? V case ked na ZX uz davno mame MRS a na mnohobitoch moderne crosskompilery ? ;) :poke:

Ale k veci:
chip128 píše:
No a nakonec mám dotaz, na který bych rád znal odpověď: Proč při BASIC příkazu COPY se pouze poslední dva mikrořádky tisknou v tom zpomaleném (SLOW) režimu ?
Obrazovka sa berie ako jeden riadok vysoky 192 pixelov, a presne tak isto ako pri 8-pixelovom riadku sa brzdi posledne dva mikroriadky, tak sa brdzi aj na konci toho velkeho 192-pixeloveho riadku. Skratka, pred koncom tlacovej ulohy sa prepina do SLOW aby sa tlac tak nejak "ukludnila". Osobne na to sice nevidim ziadny padny dovod, ale myslim si ze na systeme ZX Spektra, znamom vysokou mierou "katovania kostov", na to asi nejaky dovod bol.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Tisk z DESKTOPu na ZX PRINTER
PříspěvekNapsal: 19.02.2024, 20:34 
Offline
Kecálek

Registrován: 06.04.2020, 16:24
Příspěvky: 241
Bydliště: Opava
Has thanked: 34 times
Been thanked: 76 times
Ahojte,
povedlo se mi úspěšně přihlásit a i příspěvek jsem našel :)

Zde je ještě jedna (učesanější) verze (ta předchozí nebyla špatná, ale zbytečně moc OUTovala - místo jr z,PRINTIT bylo pochopitelně lepší jr z,TSTBREAK, a také jsem úplně vyhodil zásobníkové instrukce):
Příloha:
zxprint6.zip [22.09 KiB]
17 krát


Kód:
 
               
;(c) MTs
;19.2.2024 19:00
         
         org  46520
         
         jp   TISK
         
INIT     ld   a,4
         out  (#FB),a
         ei   
         halt
         halt
         jp   48206
         
         
TISK     di   
         
;hl adresa bitmapy
         ld   hl,(48209)
         
;12 mikroradku uz pripravenych
         ld   hx,12
         
;slowspeed   D=2
;normalspeed D=0
LOOP     ld   d,0
         
         ld   a,d
         out  (#FB),a
         
TSTBREAK ld   a,127
         in   a,(254)
         rrca
;nc = break
         jr   nc,INIT
         
         in   a,(#FB)
         bit  6,a
;nz znamena ze neni pripojena
         jr   nz,TSTBREAK
         
         bit  7,a
;cekame dokud neni ready
         jr   z,TSTBREAK
         
         
;opsano z rom #0f12
         
         ld   c,32
PRTBYT   ld   e,(hl)
         inc  hl
         ld   b,8
PRTBIT   rl   d
         rl   e
         rr   d
WAIT2    in   a,(#FB)
         rra 
         jr   nc,WAIT2
         ld   a,d
         out  (#FB),a
         djnz PRTBIT
         dec  c
         jr   nz,PRTBYT
         
         ld   bc,97-32
         add  hl,bc
         dec  hx
         jr   nz,LOOP
         ret 
         


Jinak Busy, já mám Promethea opravdu hodně rád :god: :D :D


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Tisk z DESKTOPu na ZX PRINTER
PříspěvekNapsal: 19.02.2024, 21:30 
Offline
Profík

Registrován: 21.10.2018, 08:27
Příspěvky: 560
Has thanked: 284 times
Been thanked: 139 times
Diky moc za ten zdrojak. Jak ja vam zavidim, ze kouknete na problem a vidite reseni. Ja bych se s tim placal nekolik desitek hodin.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Tisk z DESKTOPu na ZX PRINTER
PříspěvekNapsal: 19.02.2024, 21:59 
Offline
Kecálek

Registrován: 06.04.2020, 16:24
Příspěvky: 241
Bydliště: Opava
Has thanked: 34 times
Been thanked: 76 times
pwramp píše:
Diky moc za ten zdrojak. Jak ja vam zavidim, ze kouknete na problem a vidite reseni. Ja bych se s tim placal nekolik desitek hodin.


Nemáte zač, rád jsem po delším čase udělal zase něco pro ZXS. Když jsem kouknul do výpisu ROM a uviděl, jak funguje ten příkaz COPY v ROMce, tak si říkám, že to je přeci všechno hotovo, stačí jen kousek opsat a obohatit o logiku DESKTOPu (12 mikrořádků najednou). Desktop dle popisu, který mám, tu grafiku při tisku doslova utilitě servíruje na zlatém podnose (pro ten ZX PRINTER s ní není třeba vůbec nic dělat). Tak jsem to testnul, no a ono to fakt funguje :). Ale je to surové, zasloužilo by si to lepší komfort (nějaké to hlášení, meníčko, interakci s uživatelem)... Vyzkoušejte tisk v pomalém režimu (D=2), projeví se to nějak na kvalitě tisku?


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ů: 24 ]  Přejít na stránku 1, 2  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 23 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