OldComp.cz

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


Právě je 29.03.2024, 01:18

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 19 ]  Přejít na stránku 1, 2  Další
Autor Zpráva
 Předmět příspěvku: ZX Spectrum 128k memory mapping
PříspěvekNapsal: 08.09.2017, 11:45 
Offline
Kecálek

Registrován: 27.09.2013, 19:59
Příspěvky: 91
Bydliště: Havirov
Has thanked: 0 time
Been thanked: 11 times
1) Je mozne na Spectru 128k prepinat pametove banky z Basicu outovanim na port stejne jako u Didaktiku Gama?

2) Funguje prepinani stejne jako u Gamy, tzn. oblast pod RAMTOPem se pri prepnuti zkopiruje ze zdrojove banky do cilove a obsah nad RAMTOpem zustane nedotcena?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX Spectrum 128k memory mapping
PříspěvekNapsal: 08.09.2017, 12:24 
Offline
Radil
Uživatelský avatar

Registrován: 12.05.2013, 20:32
Příspěvky: 457
Bydliště: Kladno
Has thanked: 46 times
Been thanked: 118 times
1) Ano
2) Ne (Basic48)

_________________
>>eLeMeNt, MB03+, Amiga 1200, ZX Spectrum 128 +2A, ZX Spectrum+, Didaktik Gama, LnxSpectrum, LnxTracker, LnxAmigaImageConvertor, https://www.ilnx.cz <<


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX Spectrum 128k memory mapping
PříspěvekNapsal: 08.09.2017, 12:38 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 05.09.2013, 14:08
Příspěvky: 1067
Bydliště: Smolenice
Has thanked: 130 times
Been thanked: 473 times
Lanex píše:
1) Ano
2) Ne (Basic48)

1) je blbost, pretoze 128k ROM stale strankuje a tak hned odstrankuje to co si si nastrankoval. v 128k BASICu sa da strankovat len cez POKE do systemiek.

_________________
To err is human, but to really foul things up requires a computer.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX Spectrum 128k memory mapping
PříspěvekNapsal: 08.09.2017, 12:48 
Offline
Kecálek

Registrován: 27.09.2013, 19:59
Příspěvky: 91
Bydliště: Havirov
Has thanked: 0 time
Been thanked: 11 times
Kdyz tedy 2) nefunguje jak jsem popsal, tak teda funguje jak?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX Spectrum 128k memory mapping
PříspěvekNapsal: 08.09.2017, 14:08 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 05.09.2013, 14:08
Příspěvky: 1067
Bydliště: Smolenice
Has thanked: 130 times
Been thanked: 473 times
Nijak, musis si to strazit sam.

_________________
To err is human, but to really foul things up requires a computer.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX Spectrum 128k memory mapping
PříspěvekNapsal: 08.09.2017, 14:24 
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
azorasoft píše:
1) Je mozne na Spectru 128k prepinat pametove banky z Basicu outovanim na port stejne jako u Didaktiku Gama?
Ano. Ale pozor, 128/+3 basic si stranky prepina aj sam takze na to aby dany stav zostal nastrankovany aj po skonceni prikazu OUT, je namiesto OUT 32765,X potrebne urobit (aj) POKE 23388,X. Idealne je urobit obe - program bude potom fungovat v basicu 48 aj basicu 128.
azorasoft píše:
2) Funguje prepinani stejne jako u Gamy, tzn. oblast pod RAMTOPem se pri prepnuti zkopiruje ze zdrojove banky do cilove a obsah nad RAMTOpem zustane nedotcena?
Kopirovanie oblasti je cisto iba zalezitost Gamy, nikde inde taka vlastnost (nastastie) uz nie je. Cize ako uz napisal z00m, musis si to strazit a zabezpecit sam.
azorasoft píše:
Kdyz tedy 2) nefunguje jak jsem popsal, tak teda funguje jak?
Nijak. Proste sa iba prepne banka bez akychkolvek kopirovacich zasahov do pameti.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX Spectrum 128k memory mapping
PříspěvekNapsal: 08.09.2017, 14:37 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 05.09.2013, 14:08
Příspěvky: 1067
Bydliště: Smolenice
Has thanked: 130 times
Been thanked: 473 times
Podla mna sa to z BASICu ani neda, nejak presuvat data zasobnika hore dole medzi bankami. Ak chces hore strankovat, najjednoduchsie je mat RAMTOP pod 49152.

_________________
To err is human, but to really foul things up requires a computer.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX Spectrum 128k memory mapping
PříspěvekNapsal: 08.09.2017, 14:44 
Offline
Radil
Uživatelský avatar

Registrován: 12.05.2013, 20:32
Příspěvky: 457
Bydliště: Kladno
Has thanked: 46 times
Been thanked: 118 times
z00m píše:
1) je blbost, pretoze 128k ROM stale strankuje a tak hned odstrankuje to co si si nastrankoval. v 128k BASICu sa da strankovat len cez POKE do systemiek.

Basic 48 ti nic přepínat zpátky nebude ;-) A bude fungovat obyč Out. Teda podmínkou je že se do Basicu 48 dostaneme přes USR 0 a ne přes menu.

_________________
>>eLeMeNt, MB03+, Amiga 1200, ZX Spectrum 128 +2A, ZX Spectrum+, Didaktik Gama, LnxSpectrum, LnxTracker, LnxAmigaImageConvertor, https://www.ilnx.cz <<


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX Spectrum 128k memory mapping
PříspěvekNapsal: 08.09.2017, 15:04 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 05.09.2013, 14:08
Příspěvky: 1067
Bydliště: Smolenice
Has thanked: 130 times
Been thanked: 473 times
To si ale ani ty predtym nenapisal. Ja som len predpokladal, ze sa pyta na 128 BASIC. Naviac to ale nijako inak fungovat nebude, len v USR 0 (ako napriklad vacsina CZ/SK 128k crackov), co je v dnesnej lamerskej dobe dost na nic, kedze polka ludi ocakava ze staci na vsetko LOAD"" + Enter, pripadne 128 MENU a ENTER. Ak ma zamyslany program fungovat poriadne, musi sa to osetrit tak, ako pisal Busy - OUT 32765,x: POKE 23388,x a zaroven mat RAMTOP pod 49152 a davat aj tak poriadne bacha, co a kde sa strankuje.

_________________
To err is human, but to really foul things up requires a computer.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX Spectrum 128k memory mapping
PříspěvekNapsal: 08.09.2017, 20:42 
Offline
Kecálek

Registrován: 27.09.2013, 19:59
Příspěvky: 91
Bydliště: Havirov
Has thanked: 0 time
Been thanked: 11 times
Tak to se divim. Protoze u Gamy 87, 88 se prave oblast pod ramtopem nekopirovala a bylo na to nahlizeno jako na bug a opraveno u Gamy 89. Pritom puvodni ZXS 128k pracovalo bez kopirovani, tedy podle inzenyru ze Skalice s bugem :-).

Podle mne je pristup Skalickych inzenyru korektnejsi, nebot tam nehrozi, ze by se system za urcitych okolnosti zhroutil. A pokud nastavime ramtop na 49152 nebo nize tak to bude fungovat stejne jako na ZXS 128k. Respektive na 32768, protoze banka u Gamy ma 32kB.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX Spectrum 128k memory mapping
PříspěvekNapsal: 08.09.2017, 22: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
azorasoft píše:
Tak to se divim. Protoze u Gamy 87, 88 se prave oblast pod ramtopem nekopirovala a bylo na to nahlizeno jako na bug a opraveno u Gamy 89. Pritom puvodni ZXS 128k pracovalo bez kopirovani, tedy podle inzenyru ze Skalice s bugem :-).
Podle mne je pristup Skalickych inzenyru korektnejsi, nebot tam nehrozi, ze by se system za urcitych okolnosti zhroutil. A pokud nastavime ramtop na 49152 nebo nize tak to bude fungovat stejne jako na ZXS 128k. Respektive na 32768, protoze banka u Gamy ma 32kB.
Nie, nie, nie.
V starsich Gamach sa kopirovala iba oblast nad RAMTOPom - toto bol ten bug, ktory bol neskor opraveny v novsich Gamach tym ze sa kopiruje oblast od 32768 az po RAMTOP.
ZXS128 vobec nic nekopiruje, a ani ziadne kopirovanie tu nebolo planovane, preto tu nemozno hovorit o nejakom bugu. Ak by si toto chcel oznacit ako bug, tak potom by sa ako bug dalo oznacit napriklad aj to, ze ZXS nema ziadne hardwerove sprajty. Alebo napriklad ze nedokazes mat normalne viac ako dve farby v jednom atribute.
Ale vratim sa k prepinaniu baniek. 128 / +3 basic si spravuje banky sam vo svojej rezii, pouzivatel sa vobec nemusi starat o to ci ma zasobnik zrovna v oblasti ktora sa prepina.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX Spectrum 128k memory mapping
PříspěvekNapsal: 08.09.2017, 23:15 
Offline
Kecálek

Registrován: 27.09.2013, 19:59
Příspěvky: 91
Bydliště: Havirov
Has thanked: 0 time
Been thanked: 11 times
Podle popisu zde https://neuro.me.uk/projects/wos/sincla ... erence.htm

to dale vypada, ze kdyz aktivuji banku 2 a udelam POKE 32768,Y tak se zaroven Y zapise i na 49152? Jaky to ma vyznam?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX Spectrum 128k memory mapping
PříspěvekNapsal: 09.09.2017, 14:56 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1612
Has thanked: 31 times
Been thanked: 357 times
azorasoft píše:
Podle popisu zde https://neuro.me.uk/projects/wos/sincla ... erence.htm

to dale vypada, ze kdyz aktivuji banku 2 a udelam POKE 32768,Y tak se zaroven Y zapise i na 49152? Jaky to ma vyznam?


Od adresy 16384 je stranka 5, od 32768 je stranka 2 a od 49152 lze pripojit jakoukoli stranku 0-7. Pokud si nastavis od 49152 stranku 2 nebo 5, pak dojde k "zrcadleni", neboli blok pameti je zde stejny akorat na dvou mistech soucasne. Co zapises na 49152, zapise se soucasne na 32768(stranka 2) nebo na 16384(stranka 5). Proc to je tak nema smysl resit, proste to tak bylo postavene.

No a dale - v dnesni dobe uz je 128 basic trochu "out", protoze system v zarizeni typu DIVIDE a DIVMMC automaticky po zapnuti zajisti prepnuti do USR0 modu, takze pocitac startuje rovnou do 48 basicu ale s povolenou ram 128kB. A ja automaticky pocitam s tim, ze vetsina lidi ma prave pripojene DIVxxx, cili dnes uz se muzeme bavit o tom, ze vychozim stavem po startu ZX128 je vetsinou 48 basic (protoze prave vetsina lidi ma pripojene podobne zarizeni jako DIVxxx).

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX Spectrum 128k memory mapping
PříspěvekNapsal: 09.09.2017, 15:57 
Offline
Kecálek

Registrován: 27.09.2013, 19:59
Příspěvky: 91
Bydliště: Havirov
Has thanked: 0 time
Been thanked: 11 times
A ta finta se dvema videopametmi na 128cce teda funguje jak? Kdyz vyrobim dva screeny, jeden ulozim do banky 5 a druhy do banky 7 a udelam out tak, ze se zobrazi 5 misto 7 (nebo opacne) bude to mit okamzity efekt, rychlejsi nez LDIRovat druhy obrazek nekde z RAM do videoRAM? V tom spociva ten efekt na 128cce?

Popravde ja spis resim jak prepinat banky na Nextu, predpokladam, ze to bude kompatibilni se 128kou akorat tech bank nebude 8 ale az 104 (pokud osadim patice a budu mit 2 MB).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ZX Spectrum 128k memory mapping
PříspěvekNapsal: 09.09.2017, 16:07 
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
azorasoft píše:
kdyz aktivuji banku 2 a udelam POKE 32768,Y tak se zaroven Y zapise i na 49152? Jaky to ma vyznam?
Nema to ziadny vyznam. Proste, celych 128kB pameti je dostupnych (logicky) v osmych strankach v hornych 16kB, ale aby bola aj nejaka pamet pristupna na adresach #4000 az #C000 tak su proste dve z tychto stranok viditelne aj na tychto nizsich adresach. To je vsetko a nic viac za tym nehladaj :)
VELESOFT píše:
No a dale - v dnesni dobe uz je 128 basic trochu "out", protoze system v zarizeni typu DIVIDE a DIVMMC automaticky po zapnuti zajisti prepnuti do USR0 modu, takze pocitac startuje rovnou do 48 basicu ale s povolenou ram 128kB. A ja automaticky pocitam s tim, ze vetsina lidi ma prave pripojene DIVxxx, cili dnes uz se muzeme bavit o tom, ze vychozim stavem po startu ZX128 je vetsinou 48 basic (protoze prave vetsina lidi ma pripojene podobne zarizeni jako DIVxxx).
Ale stale je tu ta mensina (do ktorej patrim aj ja), ktora je proste zvyknuta ze po resete pocitac nabehne do 128 menu kde staci stlacit enter a program sa hned nahraje. Preto si myslim, ze spravny basicovy loader do 128 stranok by mal mat aj OUT 32765 a aj POKE 23388 aby korektne fungoval v oboch pripadoch.
azorasoft píše:
A ta finta se dvema videopametmi na 128cce teda funguje jak? Kdyz vyrobim dva screeny, jeden ulozim do banky 5 a druhy do banky 7 a udelam out tak, ze se zobrazi 5 misto 7 (nebo opacne) bude to mit okamzity efekt, rychlejsi nez LDIRovat druhy obrazek nekde z RAM do videoRAM? V tom spociva ten efekt na 128cce?
Ano, presne tak. Jednoducho, akonahle zmenis bit urcujuci videoramku, ULA okamzite zacne citat bajty na zobrazenie z inej banky.

Ak tento bit budes menit po kazdych styroch pixelovych riadkoch, ziskas tym de-fakto atributy vysoke 4 pixely - pretoze prve 4 pixelove riadky sa budu zobrazovat atributy z jednej videoramky, a dalsie styri pixelove riadky z druhej videoramky. Na tomto principe je zalozeny multicolor co pouzivam napriklad v intre Muco1k.


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ů: 19 ]  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