OldComp.cz

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


Právě je 28.03.2024, 17:25

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 28 ]  Přejít na stránku 1, 2  Další
Autor Zpráva
 Předmět příspěvku: SIF Term
PříspěvekNapsal: 02.01.2019, 01:58 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.05.2013, 14:56
Příspěvky: 2331
Has thanked: 303 times
Been thanked: 637 times
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í :-)


Přílohy:
2019-01-01_sif-term.tar.bz2 [112.23 KiB]
616 krát
DSC02297_zmenseno.JPG
DSC02297_zmenseno.JPG [ 545.69 KiB | Zobrazeno 12670 krát ]

_________________
https://cygnus.speccy.cz ZX Spectrum 128k, Betadisk, DivIDE, ESXDOS
Nahoru
 Profil  
 
 Předmět příspěvku: Re: SIF Term
PříspěvekNapsal: 02.01.2019, 23:30 
Offline
Kecálek
Uživatelský avatar

Registrován: 24.03.2014, 08:10
Příspěvky: 205
Has thanked: 80 times
Been thanked: 123 times
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

_________________
http://hood.speccy.cz
http://sarah.speccy.cz


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SIF Term
PříspěvekNapsal: 03.01.2019, 00:44 
Offline
Kecálek
Uživatelský avatar

Registrován: 24.03.2014, 08:10
Příspěvky: 205
Has thanked: 80 times
Been thanked: 123 times
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.

Hood
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).

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.


Přílohy:
inkey.zip [1.32 KiB]
584 krát

_________________
http://hood.speccy.cz
http://sarah.speccy.cz
Nahoru
 Profil  
 
 Předmět příspěvku: Re: SIF Term
PříspěvekNapsal: 05.01.2019, 00:27 
Offline
Kecálek
Uživatelský avatar

Registrován: 24.03.2014, 08:10
Příspěvky: 205
Has thanked: 80 times
Been thanked: 123 times
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.

Hood
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).

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.

_________________
http://hood.speccy.cz
http://sarah.speccy.cz


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SIF Term
PříspěvekNapsal: 06.01.2019, 22:34 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.05.2013, 14:56
Příspěvky: 2331
Has thanked: 303 times
Been thanked: 637 times
hood píše:
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.
Nedaří se, fakt nedaří...

Busyho rutinu jsem přizpůsobil, použil a v emulátoru funguje perfektně, ale na reálné šedé +2, na té stejné, na které mi ROMková rutina fungovala bez problémů s Busyho rutinou funguje vše, kromě otazníku SS+C.

Abych vůbec něco mohl napsat, přibastlil jsem otazník duplicitně na SS+I, kde se žádný jiný znak nenacházel.

Pár hodin jsem s tím experimentoval a výsledek je v TAPce... většinu slepých cest jsem z toho zas odstranil, zůstal jen primitivní debug, který zapisuje registr DE od adresy 16384 (+ čtverec jasu, aby byly snadnější rozpoznatelné byty od sebe).

Vyzkoušel jsem i pitomosti, jako přidávat nop před a za in, zkoušel jsem používat víc in a,(c) za sebou, nebo ld a,horní adresa a pak in a,(254), zkoušel jsem zpozdit čtení smyčkou, aby se nečetlo hned po přerušení atd... žádná změna, tím to prostě není. Je mi záhadou, proč se čtení v Busyho rutině od toho ROMkového vůbec liší. Jediné vysvětlení, co mě napadá, že to souvisí s adresou na které kód běží a nějak to má vliv na instrukce in?

Výsledky ladění viz foto obrazovky se zeleným okrajem... z nějakého záhadného důvodu se mi ze symbol shiftu stane 4 místo 2, když ho stisknu společně s C, s jinými klávesami je to ok. Registr de se na 16384 zapisuje před přehazováním d a e, tj. ihned po načtení všech 8 klávesnicových portů. Nemám teď čas to zkoumat víc. Buď ti bude fungovat verze s Busyho čtením kláves, nebo na to holt bude muset přijít někdo jiný.

Vážně mám chuť to teď zas vrátit do předchozího stavu s ROMkovou rutinou. V tomhle nevidím benefit.

Btw... FTP funguje, sice ne to, cos mi poslal, ale připojím se na anonymní FTP i na jiné FTP, s heslem a jménem, vypíšu adresář, víc jsem nezkoušel.


Přílohy:
2019-01-06_debug_potize_s_klavesnici_na_realnem_hardwaru.jpg
2019-01-06_debug_potize_s_klavesnici_na_realnem_hardwaru.jpg [ 447.61 KiB | Zobrazeno 12395 krát ]
connect_one_pripojeni_na_ftp_01.jpg
connect_one_pripojeni_na_ftp_01.jpg [ 259.6 KiB | Zobrazeno 12395 krát ]
connect_one_pripojeni_na_ftp_02.jpg
connect_one_pripojeni_na_ftp_02.jpg [ 283.07 KiB | Zobrazeno 12395 krát ]

_________________
https://cygnus.speccy.cz ZX Spectrum 128k, Betadisk, DivIDE, ESXDOS
Nahoru
 Profil  
 
 Předmět příspěvku: Re: SIF Term
PříspěvekNapsal: 06.01.2019, 22:35 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.05.2013, 14:56
Příspěvky: 2331
Has thanked: 303 times
Been thanked: 637 times
... 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.


Přílohy:
sif-term_debug_2019-01-06_potize_s_klavesnici_debug2.tap.gz [6.94 KiB]
572 krát
sif-term_debug_2019-01-06_potize_s_klavesnici.tap.gz [6.95 KiB]
569 krát

_________________
https://cygnus.speccy.cz ZX Spectrum 128k, Betadisk, DivIDE, ESXDOS
Nahoru
 Profil  
 
 Předmět příspěvku: Re: SIF Term
PříspěvekNapsal: 07.01.2019, 15:37 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
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.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SIF Term
PříspěvekNapsal: 07.01.2019, 19:55 
Offline
Kecálek
Uživatelský avatar

Registrován: 24.03.2014, 08:10
Příspěvky: 205
Has thanked: 80 times
Been thanked: 123 times
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

_________________
http://hood.speccy.cz
http://sarah.speccy.cz


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SIF Term
PříspěvekNapsal: 08.01.2019, 09:43 
Offline
Kecálek
Uživatelský avatar

Registrován: 24.03.2014, 08:10
Příspěvky: 205
Has thanked: 80 times
Been thanked: 123 times
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

_________________
http://hood.speccy.cz
http://sarah.speccy.cz


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SIF Term
PříspěvekNapsal: 08.01.2019, 10:46 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
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).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SIF Term
PříspěvekNapsal: 08.01.2019, 22:57 
Offline
Kecálek
Uživatelský avatar

Registrován: 24.03.2014, 08:10
Příspěvky: 205
Has thanked: 80 times
Been thanked: 123 times
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.

_________________
http://hood.speccy.cz
http://sarah.speccy.cz


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SIF Term
PříspěvekNapsal: 09.01.2019, 01:52 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.05.2013, 14:56
Příspěvky: 2331
Has thanked: 303 times
Been thanked: 637 times
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 .


Přílohy:
test.tap.gz [225 bajtů]
517 krát

_________________
https://cygnus.speccy.cz ZX Spectrum 128k, Betadisk, DivIDE, ESXDOS
Nahoru
 Profil  
 
 Předmět příspěvku: Re: SIF Term
PříspěvekNapsal: 09.01.2019, 11:30 
Offline
Kecálek
Uživatelský avatar

Registrován: 24.03.2014, 08:10
Příspěvky: 205
Has thanked: 80 times
Been thanked: 123 times
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

_________________
http://hood.speccy.cz
http://sarah.speccy.cz


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SIF Term
PříspěvekNapsal: 09.01.2019, 19:14 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.05.2013, 14:56
Příspěvky: 2331
Has thanked: 303 times
Been thanked: 637 times
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á.

_________________
https://cygnus.speccy.cz ZX Spectrum 128k, Betadisk, DivIDE, ESXDOS


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SIF Term
PříspěvekNapsal: 10.01.2019, 12:15 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.05.2013, 14:56
Příspěvky: 2331
Has thanked: 303 times
Been thanked: 637 times
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
25000 - 0x61A8 - 0b0110000110101000
32768 - 0x8000 - 0b1000000000000000
49152 - 0xC000 - 0b1100000000000000
64000 - 0xFA00 - 0b1111101000000000
65280 - 0xFF00 - 0b1111111100000000
Všimněte si, že samotná D8 = 0 nestačí, jinak by to na 32768, 49152, 64000 fungovalo správně.

Například na 65280 mi nefungovaly kombinace CS+J (přidávalo se F) a CS+N (přidávalo se C)

_________________
https://cygnus.speccy.cz ZX Spectrum 128k, Betadisk, DivIDE, ESXDOS


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ů: 28 ]  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 9 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