OldComp.cz https://oldcomp.cz/ |
|
SIF Term https://oldcomp.cz/viewtopic.php?f=37&t=7057 |
Stránka 1 z 2 |
Autor: | zxcygnus [ 02.01.2019, 01:58 ] | |||
Předmět příspěvku: | SIF Term | |||
Nová verze zde https://cygnus.speccy.cz/popis_sifterm.php Důležitou novinkou je historie odeslaných příkazů. Sice jen pár řádků (dalo by se pár přidat), ale i tak to zatraceně usnadňuje opakování a drobné modifikace dříve odeslaného... viz foto. Oprava překlepu se tak nestává peklem. Užitečný je taky scroll lock. Pozastavení výpisu občas přijde vhod. Třeba to bude ku prospěchu při ladění i nějakého jiného internetového pojítka, když se Connect One nestal tak populárním, jak by se mi líbilo. Narozdíl od Bootu neškudlím každý byte a v helpu je pěkně uvedené datum zveřejnění
|
Autor: | hood [ 02.01.2019, 23:30 ] |
Předmět příspěvku: | Re: SIF Term |
zxcygnus píše: Nová verze zde https://cygnus.speccy.cz/popis_sifterm.php Důležitou novinkou je historie odeslaných příkazů. Sice jen pár řádků (dalo by se pár přidat), ale i tak to zatraceně usnadňuje opakování a drobné modifikace dříve odeslaného... viz foto. Oprava překlepu se tak nestává peklem. Užitečný je taky scroll lock. Pozastavení výpisu občas přijde vhod. Třeba to bude ku prospěchu při ladění i nějakého jiného internetového pojítka, když se Connect One nestal tak populárním, jak by se mi líbilo. Narozdíl od Bootu neškudlím každý byte a v helpu je pěkně uvedené datum zveřejnění No, to už je terminál podle mého gusta:-). Skvělá práce, Cygnusi. Akorát nechceš tam vylepšit čtení klávesnice? Protože mi nefunguje otazník a asi ani kurzory. V BASICU ale fungují. POmohla mi na to klavesová rutina od Busyho, kdybys měl zájem. Hood |
Autor: | hood [ 03.01.2019, 00:44 ] | ||
Předmět příspěvku: | Re: SIF Term | ||
zxcygnus píše: hood píše: Akorát nechceš tam vylepšit čtení klávesnice? Protože mi nefunguje otazník a asi ani kurzory. V BASICU ale fungují. Pomohla mi na to klavesová rutina od Busyho, kdybys měl zájem. A jéje, to je zas prohnilost pluskových membrán. V emulátoru ok, na šedé +2 ok, teď jsem to zkusil i se Sparrow v gumákovém šasi, taky perfektní, jenom plusko blbne (to samé plusko, které občas v BASICu nerado píše STOP).Hood U mně pro změnu nefunguje dvojtečka a kurzory velmi váhavě. Používám ke čtení ROMkovou rutinu na adrese 654, která se volá v IM2, takže hned po přerušení... ale asi není problém ji nahradit něčím ekvivalentním. Pošli, zkusím se nad tím příležitostně zamyslet, najdu-li čas. Prozatím to je holt trochu závislé na hardwaru No, taky jsem to resil a ta rutina od Busyho v priloze mi vytrhla trn z paty. Snad se ti bude hodit i jinde. Ale proste otaznik, ktery je u AT prikazu potrebny nemuzu v tvem novem terminalu zadat, tak by se to velmi hodilo, aby to klavesnice unavene +2 zvladla. Dik. Hood.
|
Autor: | hood [ 05.01.2019, 00:27 ] |
Předmět příspěvku: | Re: SIF Term |
zxcygnus píše: hood píše: Akorát nechceš tam vylepšit čtení klávesnice? Protože mi nefunguje otazník a asi ani kurzory. V BASICU ale fungují. Pomohla mi na to klavesová rutina od Busyho, kdybys měl zájem. A jéje, to je zas prohnilost pluskových membrán. V emulátoru ok, na šedé +2 ok, teď jsem to zkusil i se Sparrow v gumákovém šasi, taky perfektní, jenom plusko blbne (to samé plusko, které občas v BASICu nerado píše STOP).Hood U mně pro změnu nefunguje dvojtečka a kurzory velmi váhavě. Používám ke čtení ROMkovou rutinu na adrese 654, která se volá v IM2, takže hned po přerušení... ale asi není problém ji nahradit něčím ekvivalentním. Pošli, zkusím se nad tím příležitostně zamyslet, najdu-li čas. Prozatím to je holt trochu závislé na hardwaru Cygnusi, klaves nefunguje vice. I CAPS+F, D, S. Nemuzu tim padem zadat heslo na ftpko. Primlouval bych se velmi, aby jsi to opavil. Diky. |
Autor: | zxcygnus [ 06.01.2019, 22:35 ] | |||
Předmět příspěvku: | Re: SIF Term | |||
... a ještě ke stažení ta zagzipovaná TAPka s testovací verzí programu A druhá verze. Debug 2 načte všech 8 klávesových portů a zapíše je do toho čtverce v levém horním rohu. Nevím, jak na jiných počítačích, ale na své +2 tam vidím ghosting při stisku dvou kláves SS a C. To by nemělo být možné, ne? Doplňuji - na plusku pro změnu otazník funguje, ale nefunguje dvojtečka, při čtení vše osmi portů se ukazuje ghosting přes všechny.
|
Autor: | Busy [ 07.01.2019, 15:37 ] |
Předmět příspěvku: | Re: SIF Term |
Moja rutinka sa od tej romkovej #028E nijak principialne nelisi, obe citaju klavesy rovnakou filozofiou: Pomocou 8 x IN postupne precitaju vsetkych 8 polrad a v kazdej sleduju ktory z dolnych 5 bitov nacitaneho udaja je nulovy. Jedine, cim sa lisia, je ze moja rutinka to robi o kusok rychlejsie a cita polrady v opacnom poradi ako romkovska - toto by mohlo mat vplyv na pripadny ghosting sposobeny parazitnymi kapacitami alebo "prehnilou" membranou sposobujucou ze sa sucasne "stlacia" aj nejake klavesy okolo. Na citanie niektorych klaves moze mat vplyv aj zatazenie zbernice - pokial adresove budice CPU pracuju na hranici svojich moznosti, moze sa stat ze sa nieco nenacita v poriadku. Ja som tento problem tiez kedysi maval na svojej +2 (uplne na to stacilo jedno TTL hradlo zavesene na A15 !), po osadeni budicov zbernice (LS244,LS245) problem zmizol a vsetko mi odvtedy fungovalo bez problemov. V kazdom pripade, ja osobne si myslim ze primarny problem nebude v samotnej rutinke na citanie klavesnice. |
Autor: | hood [ 07.01.2019, 19:55 ] |
Předmět příspěvku: | Re: SIF Term |
zxcygnus píše: Busy píše: V kazdom pripade, ja osobne si myslim ze primarny problem nebude v samotnej rutinke na citanie klavesnice. Souhlasím, čistě principielně je tvůj kód zcela v pořádku i před použitím jsem ho prošel, abych přesně věděl, jak, kdy a proč se zachová a celý problém je opravdu hardwarová vada, nejspíš vyplývající z toho, že membrány jsou dvojité (víc vrstev přes sebe, větší parazitní kapacita).Jsem to nezdůraznil dost důsledně - poslední testovací verze jen přečte porty a načtené byty zapíše rovnou do VRAM, takže je ghosting okamžitě vidět. S tím už pak jakákoli rutina pro převod na ASCII nic nezmůže. Dušky naznačoval, že by se projevy vady mohly lišit podle adresy, na které kód, resp. in a,(c) běží... jakmile se k tomu dostanu, vyzkouším, jestli opravdu lze pozorovat nějaký vliv a dám vědět, jak to dopadlo. Cestou hardwarové opravy jít nechci. Resp. jen do určité míry, nanejvýš malou kapacitou přes diodu u ZX 48k+, což je oprava tuctová a hodně častá. Primárně bych rád problém vyřešil do té míry, aby to alespoň fungovalo na většině počítačů, když už ne na všech, abych mohl říct, že nefunguje jen na těch, které jsou příliš za hranicí tolerance (a nefunguje u nich klávesnice ani v BASICu), nebo něco takového. Schválně zkuste sif-term_debug_2019-01-06_potize_s_klavesnici_debug2.tap.gz na svých počítačích a dejte vědět, jak se to chová, SIF k tomu potřeba není, ať máme nějakou referenci, příp. to můžeme celé přesunout do samostatného vlákna "potíže se čtením vícevrstvých membrán", Gumáků se to určitě netýká a tím pádem nejspíš ani Didaktiků (Gama i M). Btw... v mém ZX 48k+ je určitě membrána nová, nejspíš Tesla, ale která konkrétně z paměti nevím, v ZX 128k +2 je membrána originální, jiné ani neexistují, ačkoli měněna byla za zánovní po té, co to u té původní definitivně vzdaly přívody. První verze (DEBUG)funguje dobre, jen misto otazniky vypisuje apostrof a misto SS+I vlozi ENTER. Kurzory (tedy historie) a CS klaves jedou dobre. Druhá to stejné, tzn, misto otazniku taky apostrof a SS+I=ENTER |
Autor: | hood [ 08.01.2019, 09:43 ] |
Předmět příspěvku: | Re: SIF Term |
Busy píše: Na citanie niektorych klaves moze mat vplyv aj zatazenie zbernice - pokial adresove budice CPU pracuju na hranici svojich moznosti, moze sa stat ze sa nieco nenacita v poriadku. Ja som tento problem tiez kedysi maval na svojej +2 (uplne na to stacilo jedno TTL hradlo zavesene na A15 !), po osadeni budicov zbernice (LS244,LS245) problem zmizol a vsetko mi odvtedy fungovalo bez problemov. Ahojte, mozna je to nekde popsane, ale Slavko, jak presne vypada ono vylepseni signalu od klavesnice posilovacem? Ja tam mam ty kondiky pres diody, ale nebyva to vzdy uspesne reseni. Dik. Hood |
Autor: | Busy [ 08.01.2019, 10:46 ] |
Předmět příspěvku: | Re: SIF Term |
hood píše: jak presne vypada ono vylepseni signalu od klavesnice posilovacem? Posilovac je iba klasicky zbernicovy, aby externe periferie pripojene na zbernicu nezatazovali priamo CPU. Pripojenie samotnej klavesnice zostava nezmenene, ta je pripojena klasicky priamo na CPU tak ako obvykle.Samozrejme dala by sa posilnit aj samotna klavesnica, napr. pomocou jedneho LS244. Vstupy sa pripoja na A8-A15, a vystupy cez diody do klavesnice. Alebo este lepsie je pouzit nejakych osem budicov s otvorenymi kolektormi - napriklad LS641, potom ani diody vobec netreba (tie su tam len na to aby nenastal skrat do +5V pri stlaceni viac klaves naraz). |
Autor: | hood [ 08.01.2019, 22:57 ] |
Předmět příspěvku: | Re: SIF Term |
Busy píše: Moja rutinka sa od tej romkovej #028E nijak principialne nelisi, obe citaju klavesy rovnakou filozofiou: Pomocou 8 x IN postupne precitaju vsetkych 8 polrad a v kazdej sleduju ktory z dolnych 5 bitov nacitaneho udaja je nulovy. Jedine, cim sa lisia, je ze moja rutinka to robi o kusok rychlejsie a cita polrady v opacnom poradi ako romkovska - toto by mohlo mat vplyv na pripadny ghosting sposobeny parazitnymi kapacitami alebo "prehnilou" membranou sposobujucou ze sa sucasne "stlacia" aj nejake klavesy okolo. Na citanie niektorych klaves moze mat vplyv aj zatazenie zbernice - pokial adresove budice CPU pracuju na hranici svojich moznosti, moze sa stat ze sa nieco nenacita v poriadku. Ja som tento problem tiez kedysi maval na svojej +2 (uplne na to stacilo jedno TTL hradlo zavesene na A15 !), po osadeni budicov zbernice (LS244,LS245) problem zmizol a vsetko mi odvtedy fungovalo bez problemov. V kazdom pripade, ja osobne si myslim ze primarny problem nebude v samotnej rutinke na citanie klavesnice. Kluci,, zcela polopatistcka otázka. A jak Teda vysvětlíme fakt, že v Basicu mi funguje jak otazník, tak CS+F. I v Alasmu a MBCommanderu, kde mám Busyho rutinu. Mate určitě pravdu, že to bude i hw, ale ty funkční klávesy v Basicu stále ukazují i na problém softwarový, tedy obsluzna rutina klávesnice. |
Autor: | zxcygnus [ 09.01.2019, 01:52 ] | ||
Předmět příspěvku: | Re: SIF Term | ||
Dušky má pravdu, čtení klávesnice se chová různě na různých adresách v RAM, tím pádem nutně i rutina v ROM dělá jiné chyby než rutiny na jiných místech. Bohužel to tak úplně nevysvětluje, proč v BASICu jsme schopni něco napsat a použití téže rutiny odjinud nevede ke stejně dobrému výsledku. Nicméně to asi vysvětluje, proč se chování sif-termu změnilo od předchozí verze. Jednou ze zásadních změn byly velké přesuny v RAM, aby mi zbyl volný blok mezi 32768-49152 pro případnou historii zobrazených řádků (je-li to vůbec realizovatelné). Zkuste následující program, přikládám zdroják a TAPku - primitivní, ale názorné a relokovatelné. Kód: cpu z80undoc org 32768 START ld hl,16384 ; cls ld de,16385 ld bc,6144 ld (hl),0 ldir ld bc,767 ld a,56 ld (hl),a ldir ld a,6*8+6 ld (22528+1),a ld (22528+32),a ld a,4 out (254),a LOOP ei ; hlavní smyčka halt di ld hl,16384 ; 1. 256 čtení ld d,0 READ_L2 push hl ld bc,32766 READ_L1 in a,(c) ld (hl),a inc h rrc b jr c,READ_L1 pop hl inc hl dec d jr nz,READ_L2 ld hl,16384+2048 ; 2. 256 čtení ld d,0 READ_L4 push hl ld bc,32766 READ_L3 in a,(c) ld (hl),a inc h rrc b jr c,READ_L3 pop hl inc hl dec d jr nz,READ_L4 call 8020 ; Break? jr c,LOOP ei ret A až se dokončí upload, tak tady bude video https://youtu.be/rIR6w8o5V-0 .
|
Autor: | hood [ 09.01.2019, 11:30 ] |
Předmět příspěvku: | Re: SIF Term |
zxcygnus píše: Dušky má pravdu, čtení klávesnice se chová různě na různých adresách v RAM, tím pádem nutně i rutina v ROM dělá jiné chyby než rutiny na jiných místech. Bohužel to tak úplně nevysvětluje, proč v BASICu jsme schopni něco napsat a použití téže rutiny odjinud nevede ke stejně dobrému výsledku. Nicméně to asi vysvětluje, proč se chování sif-termu změnilo od předchozí verze. Jednou ze zásadních změn byly velké přesuny v RAM, aby mi zbyl volný blok mezi 32768-49152 pro případnou historii zobrazených řádků (je-li to vůbec realizovatelné). Vyborne, tedy asi tusime, odkud vitr vane. Nesouvisi to nahodou s rychlou a pomalou pameti? Tvuj puvodni kod SIF Termu ma im2 rutinu, kde se vola klavesnice od adresy #Cxxx a vyse. A je problem. Zatimco ROM vola klavesnici v oblasti 0- #3FF a je to bez problému. Podobně v MBCommanderu je Busyho rutina na adrese #BE00, v Nmi menu na #20D2. A v Alasmu, kde nemám sice Busyho rutinu, ale někde mezi #8000 a #BFFF mám call #28E- a klávesnice funguje. I když musím přiznat, že v MBC je i zvuková odezva a je slyšet jakési dvojkliknutí při stisku otazníku (asi právě nějaký zákmit), ale v MBC se čte klávesnice přes IM2, mám podezření, že to dělá trošku neplechu. Podle mě lépe, kde to jde, dát čekací smyčku na klávesnici, nikoliv IM2. Mohl bys zkusit IM2 volání v tvém původním kódu SIF Termu, přesunout do oblasti #8000- #BFFF? Nic víc, podle mě by to mohlo zabrat. Hood |
Autor: | zxcygnus [ 09.01.2019, 19:14 ] |
Předmět příspěvku: | Re: SIF Term |
hood píše: Vyborne, tedy asi tusime, odkud vitr vane. Nesouvisi to nahodou s rychlou a pomalou pameti? Pravděpodobněji souvisí se stavem adresové sběrnice, tj. jestli jsou A8 - A15 v L, nebo H vůči adrese portu, kterou se snažíme číst.hood píše: Zatimco ROM vola klavesnici v oblasti 0- #3FF a je to bez problému. Není to bez problémů. Ty jsi psal, že ti to nefunguje a já to zkoušel na ZX 48k+ a taky jsem měl potíže i když jiné. Navíc ZX 48k+ (asi všechny ISSUE) jsou známé tím, že jim občas blbnou uvozovky, nebo něco jiného. A co je důležité, tentýž počítač s gumákovou membránou bude fungovat perfektně. To mám pro pluska s blbnoucími uvozovkami a pod. opakovaně odzkoušeno. Ostatně rutinu na #28E (dekadicky 654) jsem používal předtím, než jsem začal experimentovat s tou od Busyho.hood píše: Podle mě lépe, kde to jde, dát čekací smyčku na klávesnici, nikoliv IM2. Nepomůže. Viz ten test, interrupt nepoužívá (IM1 ani IM2), jen halt, zkusil jsi ho? Zkusil jsi ho na všech svých ZX Spectrech? Zkusil jsi ho na různých adresách? S jakými výsledky? Jaké konkrétní projevy jsi pozoroval na konkrétních adresách?hood píše: Mohl bys zkusit IM2 volání v tvém původním kódu SIF Termu, přesunout do oblasti #8000- #BFFF? Mohl, ale hodně teď nestíhám, vracím se pozdě večer domů a čert ví, jestli najdu vůbec nějaký čas o víkendu. Klidně by se mohlo stát, že to budu muset nechat pár týdnů u ledu.A je to právě oblast paměti, kterou bych pro čtení klávesnice nechtěl používat. Viz memory mapa v balíčku se zdrojáky. Než odpovíš, přečti si to prosím pozorně znovu, zkus ten test.tap na různých adresách (chtělo by to zkusit i v ROM v oblasti #00 - #FF, nebo v RAM na #FF00 až #FFFF ... třeba je to zrovna to nejlepší místečko?). A mimochodem, vypadá mnohem lépe, když z citace vymažeš zbytečné části, zvláště kvůli jedné větě odpovědi citovat několik odstavců je nepřehledné, náhled pomáhá. |
Autor: | zxcygnus [ 10.01.2019, 12:15 ] |
Předmět příspěvku: | Re: SIF Term |
Mimochodem, včera jsem to přeci jen krátce zkoušel na pár adresách a zdá se, že na #FE00 (tj. 254*256) to funguje správně pro všechny kombinace caps shift + něco i symbol shift + něco. Ale vážně by mi pomohlo, kdybyste to vyzkoušeli na co možná nejvíc ZX Spectrech - 48k pluska, 128k toastrack, 128k +2 i ty +2B a +3 Amstrady ať máme přehled pro příště. Na mé +2 určitě zlobí čtení klávesnice v oblastech (uvádím startovní adresy 87 bytů dlouhé rutiny + pár bytů pozice in a,(c)) Kód: 24500 - 0x5FB4 - 0b0101111110110100 Všimněte si, že samotná D8 = 0 nestačí, jinak by to na 32768, 49152, 64000 fungovalo správně.25000 - 0x61A8 - 0b0110000110101000 32768 - 0x8000 - 0b1000000000000000 49152 - 0xC000 - 0b1100000000000000 64000 - 0xFA00 - 0b1111101000000000 65280 - 0xFF00 - 0b1111111100000000 Například na 65280 mi nefungovaly kombinace CS+J (přidávalo se F) a CS+N (přidávalo se C) |
Stránka 1 z 2 | Všechny časy jsou v UTC + 1 hodina [ Letní čas ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |