OldComp.cz

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


Právě je 20.04.2024, 02:13

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 22 ]  Přejít na stránku 1, 2  Další
Autor Zpráva
 Předmět příspěvku: ZX rom a různé její úpravy
PříspěvekNapsal: 27.05.2017, 21:32 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1614
Has thanked: 31 times
Been thanked: 357 times
V tomto vlákně bych probral pár problémů týkajících se ZX rom. Začal bych něčím, co se jako chyba nejeví, pokud je romka romkou, tedy nepřepisovatelná, ale projeví se poškozením vlastního obsahu, pokud zx rom běží v přepisovatelné ramce, tedy nějaký ten allram s image zx rom ve spodních 16kB. A teď o co jde. Chybka bude v rutině pro scrollování obrazovky, protože když se obraz scrolluje, přepíše se značná část zx fontu. Asi by se to dalo najít ve zdrojáku nebo trasováním, ale neví tu třeba někdo něco bližšího ? Možná už se to řešilo. Já věděl od BUSYho akorát o chybě v kalkulátoru, který zapisoval na začátek romky, ale s tímto jsem se setkal teprve nedávno.

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX rom a různé její úpravy
PříspěvekNapsal: 28.05.2017, 15:05 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3663
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 797 times
Romka si prepisuje iba svojich prvych 5 bajtov - pri spracovavani 5-bajtovej ciselnej hodnoty ju zapise na adresu 0.

Scroll romku neprepisuje, ak ti to prepisal, chyba bude niekde inde. Ale nie v romke ako takej. Ak si si isty, ze chyba je v rutinke scrollu, skus presne zadefinovat podmienky kedy to robi a ja na to pozriem.

Inak, v mojich romkach BSrom118 a BSrom140 je chyba prepisovania prvych 5 bajtov opravena, takze tie sa mozu korektne pouzivat aj s povolenym zapisom.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX rom a různé její úpravy
PříspěvekNapsal: 28.05.2017, 23:25 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1614
Has thanked: 31 times
Been thanked: 357 times
Busy píše:
Romka si prepisuje iba svojich prvych 5 bajtov - pri spracovavani 5-bajtovej ciselnej hodnoty ju zapise na adresu 0.

Scroll romku neprepisuje, ak ti to prepisal, chyba bude niekde inde. Ale nie v romke ako takej. Ak si si isty, ze chyba je v rutinke scrollu, skus presne zadefinovat podmienky kedy to robi a ja na to pozriem.

Inak, v mojich romkach BSrom118 a BSrom140 je chyba prepisovania prvych 5 bajtov opravena, takze tie sa mozu korektne pouzivat aj s povolenym zapisom.


Tak na tu chybu me upozornil i Andrew Owen a udajne ma nekde i budfix (akorat asi ted nema cas to hledat). Ja si v realspectru v MB02 modu zkusil do stranky 0 s povolenym zapisem presunout 48romku a po jakemkoli scrolovani se mi poskodil minimalne znak "?", tedy SS+C. Drive jsem mel poskozeno jeste vice znaku....

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX rom a různé její úpravy
PříspěvekNapsal: 29.05.2017, 06:27 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3663
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 797 times
VELESOFT píše:
Ja si v realspectru v MB02 modu zkusil do stranky 0 s povolenym zapisem presunout 48romku a po jakemkoli scrolovani se mi poskodil minimalne znak "?", tedy SS+C. Drive jsem mel poskozeno jeste vice znaku....
Tiez som to skusal, scroll aj celej obrazovky, aj samotnej spodnej casti, ale nikdy sa mi nic neprepisalo okrem spodnych 5 bajtov. Zopakoval som test aj s originalnou ZX rom v RS32 so zapnutym MB02 ale vysledok rovnaky - prepis iba spodnych 5 bajtov, nic viac.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX rom a různé její úpravy
PříspěvekNapsal: 29.05.2017, 18:47 
Offline
Kecálek

Registrován: 10.07.2014, 01:57
Příspěvky: 169
Has thanked: 25 times
Been thanked: 225 times
0x0D2B LD B,0x18
0x0D2D CALL 0x0E00


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX rom a různé její úpravy
PříspěvekNapsal: 29.05.2017, 19:12 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3676
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
Prosím komentář kde to je, čtou to tu také děti a senilní důchodci :lol:

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX rom a různé její úpravy
PříspěvekNapsal: 29.05.2017, 20:06 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3663
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 797 times
danhard píše:
Prosím komentář kde to je, čtou to tu také děti a senilní důchodci :lol:
Deti ospravedlnuje to ze sa este nenaucili citat a dochodcov to ze uz pre oci nevidia. UB jasne napisal ze je to na 0x0D2B :)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX rom a různé její úpravy
PříspěvekNapsal: 29.05.2017, 20:08 
Offline
Kecálek

Registrován: 10.07.2014, 01:57
Příspěvky: 169
Has thanked: 25 times
Been thanked: 225 times
otvorte si komentovany vypis rom a sledujte:

na adrese 0x0E00 je rutinka zvana CL_SCROLL, ktoru zavolame s B=0x18:

na zaciatku CL_SCROLL sa zavola rutinka CL_ADDR (0x0e9b) aby zo zadaneho B (pocet riadkov na scroll) ziskala adresu prveho riadku scrollovacej oblasti (pre B=0x18 dostaneme adresu 0x4000)

nasledne sa testuje ci ma dany riadok "prescrollovat" cez hranicu tretiny

ak ano tak sa pokracuje na CL-SCR-2 (0x0e0d), kde sa vypocita adresa riadka v predchadzajucej tretine, kam sa ma riadok skopirovat a to pripocitanim hodnoty 0xf8e0 (cize -1824, co je 2048-224)

no a tato hodnota pre pociatocne B=0x18 je uz v oblasti pred fontom (DE=0x38e0, FONT=0x3d00), a tak po par cykloch kopirovania mikroriadkov sa zacne prepisovat font


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX rom a různé její úpravy
PříspěvekNapsal: 29.05.2017, 20:20 
Offline
Kecálek

Registrován: 10.07.2014, 01:57
Příspěvky: 169
Has thanked: 25 times
Been thanked: 225 times
a pre deti a starcov este ako sa tam dostat:

1) resetnite svoje oblubene spectrum
2) pre 128k spektrum po resete zadajte USR 0 (pre 48k spectrum v tomto kroku nerobit nic)
3) napiste a odoslite prikaz "PRINT" (bez dalsich parametrov)
4) polozte na klaves T zavazie a pockajte az dialogovy riadok "vylezie" hore


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX rom a různé její úpravy
PříspěvekNapsal: 29.05.2017, 21:47 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3663
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 797 times
Alebo jednoduchsi postup:
Kód:
PRINT AT 21,0: INPUT ''
(funguje aj v 128/+3 basicu)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX rom a různé její úpravy
PříspěvekNapsal: 09.06.2017, 23:54 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1614
Has thanked: 31 times
Been thanked: 357 times
ub880d píše:
otvorte si komentovany vypis rom a sledujte:

na adrese 0x0E00 je rutinka zvana CL_SCROLL, ktoru zavolame s B=0x18:

na zaciatku CL_SCROLL sa zavola rutinka CL_ADDR (0x0e9b) aby zo zadaneho B (pocet riadkov na scroll) ziskala adresu prveho riadku scrollovacej oblasti (pre B=0x18 dostaneme adresu 0x4000)

nasledne sa testuje ci ma dany riadok "prescrollovat" cez hranicu tretiny

ak ano tak sa pokracuje na CL-SCR-2 (0x0e0d), kde sa vypocita adresa riadka v predchadzajucej tretine, kam sa ma riadok skopirovat a to pripocitanim hodnoty 0xf8e0 (cize -1824, co je 2048-224)

no a tato hodnota pre pociatocne B=0x18 je uz v oblasti pred fontom (DE=0x38e0, FONT=0x3d00), a tak po par cykloch kopirovania mikroriadkov sa zacne prepisovat font


A už je nejaký patch ?

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX rom a různé její úpravy
PříspěvekNapsal: 10.06.2017, 06:36 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3663
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 797 times
VELESOFT píše:
A už je nejaký patch ?
POKE 0x0D2C,0x17


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX rom a různé její úpravy
PříspěvekNapsal: 28.07.2017, 21:08 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1614
Has thanked: 31 times
Been thanked: 357 times
A nakousl bych další problém - test klávesnice

Co si pamatuju, tak rutina klavesnice v ZX rom testuje klavesu CAPS SHIFT pozdeji nez samotne klavesy. Takze se obcas stava, ze pri pouzivani kurzorovych klaves v basicu sem tam romka zobrazi jen cisla misto posunuti kurzoru. Konkretne to je problem u ZX128+2A/+3, kde se pri stisku sipky aktivuje cislo i shift soucasne, zatimco na zx modelech zx48+ a zx128+/+2 je membrana vicevrstva a shift se spina s predstihem. Tim se problem trochu zmensi. A tak me napada, ze dalsi uzitecna uprava ZX romky by bylo prepsani klavesove rutiny, aby testovala CAPS SHIFT pred klavesama a nikoli po nich. Takto upravena rom by zlepsila funkcnost klavesnice v emulatorech na PC a na realnem ZX128+2A/+3, ale i na ostatnich pocitacich.

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX rom a různé její úpravy
PříspěvekNapsal: 29.07.2017, 22:25 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3663
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 797 times
Presne naopak. Caps shift sa testuje uplne ako prvy, a ked sa sipkova klavesa stlaci zrovna medzi testom capsu a cislom, tak vtedy to pise cisla namiesto sipok. Pomohol by prave test capsu az ako posledny.

Moze sice nastat teoreticky problem ak sa sipka pusti v okamihu medzi testom cisla a capsu - moze to vtedy napisat cislo, avsak tento pripad v praxi nenastane, pretoze dalsie vyhodnocovanie rutinky kombinujuce shift s klavesou maju toto osetrene - shift musi byt stlaceny len v okamihu ked sa zaznamena stlacenie funkcnej klavesy. Po stlaceni funkcnej klavesy sa shift moze pustit, a pokial funkcna klavesa ostava stlacena, stale pre nu plati odpametany stav shiftu a prestane platit az pustenim tejto klavesy.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX rom a různé její úpravy
PříspěvekNapsal: 30.07.2017, 22:38 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1614
Has thanked: 31 times
Been thanked: 357 times
Takze lepsi je prepsat rutinu klavesnice komplet. Osetrit zakmity a umele drzet aktivitu shiftu dokud je ciselna klavesa stisknuta. No, cele je to takove na prd. Ale aspon castecne by se ta funkcnost dala "vylepsit". Ono se vlastne neda ani zjistit stisk dvou funkcnich klaves soucasne, napriklad kerzor VLEVO+NAHORU. Softvarove lze detekovat jen kombinaci jedne shiftovane klavesy a u druhe nelze zjistit pritomnost shiftu, protoze ten je pro vsechny funkcni klavesy spolecny. Takze pri drzeji jakekoli funkcni klavesy a stisku jineho cisla ja na portech citelne to same, jako stisk dvou funkcnich klaves najednou. Proto taky kurzor joystick aktivuje jen cisla a ne opravdove shiftove kombinace.

_________________
http://velesoft.speccy.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ů: 22 ]  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 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:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz