OldComp.cz

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


Právě je 28.03.2024, 16:12

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: OUT 127,146 a 154 na Didaktiku Gama
PříspěvekNapsal: 25.10.2013, 19:32 
Offline
Radil

Registrován: 18.10.2013, 15:30
Příspěvky: 263
Bydliště: Oakland, Slovakia
Has thanked: 25 times
Been thanked: 60 times
Ahoj,

mohol by mi niekto polopatisticky vysvetlit co vlastne tieto dva prikazy na game robia?

Viem, ze port 127 sa pouziva na prepinanie bank - na to ale stacia hodnoty 0 a 1...

Diki

_________________
Didaktik Gama | ZX Spectrum 128 | ZX Diskface Quick A | BetaDisk 128C Interface | D40 & D80 | divIDE | Interface M/P | Multiface 128 (GOTDJ) | Gama Breaker | D80mini

"Kvalita a stabilita Windows XP se Microsoftu nevyplatila, stal se takovou temnou připomínkou toho, co se stane, když odvedete svou práci moc dobře."


Nahoru
 Profil  
 
 Předmět příspěvku: Re: OUT 127,146 a 154 na Didaktiku Gama
PříspěvekNapsal: 25.10.2013, 20:11 
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
Pametove banky na Didaktiku Gama sa ovladaju cez vstupno-vystupny pin PC0 obvodu 8255. Pomocou OUT 127,cislo sa nastavuje riadiaci register 8255. Takze pokial vies, ako s 8255 pracovat, vies vsetko. :thumbup: Pozri nejaky datasheet 8255 - napriklad tento: http://en.wikipedia.org/wiki/Intel_8255


Nahoru
 Profil  
 
 Předmět příspěvku: Re: OUT 127,146 a 154 na Didaktiku Gama
PříspěvekNapsal: 25.10.2013, 21:27 
Offline
Radil

Registrován: 18.10.2013, 15:30
Příspěvky: 263
Bydliště: Oakland, Slovakia
Has thanked: 25 times
Been thanked: 60 times
Vsetko urcite nie - musim ale povedat, ze som to asi ciastocne pochopil - pravdepodobne je to nejake defaultne nastavenie portov 8255...

Mam totizto ZX Diskface a ten ma svoju vlastnu EPROM, ktora ked je pripojena tak po resete zapina druhu banku, pricom OUTom 127,0 nie je mozne prepnut prvu banku. Ak ale zadam OUT 127,146 resp. 154 tak sa nastavi sice prva banka ale pocitac sa zresetuje ak nie je RAMTOP pod 32768.

_________________
Didaktik Gama | ZX Spectrum 128 | ZX Diskface Quick A | BetaDisk 128C Interface | D40 & D80 | divIDE | Interface M/P | Multiface 128 (GOTDJ) | Gama Breaker | D80mini

"Kvalita a stabilita Windows XP se Microsoftu nevyplatila, stal se takovou temnou připomínkou toho, co se stane, když odvedete svou práci moc dobře."


Nahoru
 Profil  
 
 Předmět příspěvku: Re: OUT 127,146 a 154 na Didaktiku Gama
PříspěvekNapsal: 25.10.2013, 21:28 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 10:52
Příspěvky: 1669
Bydliště: Mliecna draha
Has thanked: 19 times
Been thanked: 124 times
iwosh píše:
Ahoj,

mohol by mi niekto polopatisticky vysvetlit co vlastne tieto dva prikazy na game robia?

Viem, ze port 127 sa pouziva na prepinanie bank - na to ale stacia hodnoty 0 a 1...

Diki


Port 127 je riadiaci port 8255 Okrem neho pocuva aj na portoch 31,63,95

Pokial na port 127 posles mensie cislo ako 128. Tak je brane ako prikaz na na bitove nastavenie portu C.
D0 - hodnota pinu
D1,D2,D3 cislo bitu na brane C

Ked nan posles cislo vecsie ako 127 tak nastavujes spravanie sa jednotlivych bran.
- 146 Nastavi brany A a B ako vstupne a port C vystupny (Vid busiho link)
Potom mozes ich hodnoti citat na portoch 31 (port A) 63 (port B)
A port 95 mozes pouzit ako vystupny a zapisovat nan. (co silne nedoporucujem pokial si si neni isty. Pin 0 prepina banky a mozes sa zaseknut.)
- 154 spravy aj z vrchnych pinou portu C (7,6,5,4) vstupy.

V principe ti staci si pametat tieto cisla ostatne mody nebudes asi portebovat:
128 - Vsetky brany vystupne
130 - B7-0 vstupne ostatne vystupne
136 - C7-4 vstupne ostatne vystupne
138 - B7-0,C7-4 vstupne ostatne vystupne
144 - A7-0 vstupne ostatne vystup
146 - A7-0,B7-0 vstupne statne vystupne
152 - A7-0,C7-4 vstupne ostatne vystupne
154 - A7-0,B7-0,C7-4 Vstupne ostatne vystupne

Poznamky:
Porty C3-C0 nieje dobry napad prepinat do vstupneho modu prestane fungovat strankovanie.
Zapis na port C (95) nieje dobry napad ak si si neni isty. Pouzivaj port 127 a zapinaj jednotliver piny
ak si dobre pametam tak:
Pokial zapisujes na port vo vstupnom stave tak piny na ktore zapises by maly mat pripnuty pull up odpor (interne sa pripoji odpor medzi pin a +5V
Pokial citas z portu ktory je vo vystupnom stave tak precitas ako si ho nastavyl

_________________
Amiga 600 + a602, Amiga 600 PCB only, Commodore 64+ZZ-RAM V1.0 512k+C1541(18k RAM)+sd2iec +9.600 Rs232, Commodore 116 + 64k upgrade, ZX 81 ISSUE1 + ZX81XRAM

http://zz-indigo.mavipet.sk/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: OUT 127,146 a 154 na Didaktiku Gama
PříspěvekNapsal: 25.10.2013, 21:36 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 10:52
Příspěvky: 1669
Bydliště: Mliecna draha
Has thanked: 19 times
Been thanked: 124 times
iwosh píše:
Vsetko urcite nie - musim ale povedat, ze som to asi ciastocne pochopil - pravdepodobne je to nejake defaultne nastavenie portov 8255...

Mam totizto ZX Diskface a ten ma svoju vlastnu EPROM, ktora ked je pripojena tak po resete zapina druhu banku, pricom OUTom 127,0 nie je mozne prepnut prvu banku. Ak ale zadam OUT 127,146 resp. 154 tak sa nastavi sice prva banka ale pocitac sa zresetuje ak nie je RAMTOP pod 32768.


Tvoj problem bude v tom ze ROM v ZX diskface nepocita zo strankovanim a 8255 sa nenastavy do spravneho stavu (po resete su vsetky piny nastavene ako vstuopne. Je to z bezpecnostnich dovodou) V pripade ze je port vstupny tak logika bvyberu stranky sa nejak rozhodne (banka 1). Ked ti ale prekonfigurujes C3-0 na vystupne tak sa tam da hodnota registra C ktora je po retese 0.

Takze ak by si spravyl:
out 95,1
out 127,146 ci 154

Tak by to malo prezit.

Tak a ja padam kym dorazia "BORCI"

_________________
Amiga 600 + a602, Amiga 600 PCB only, Commodore 64+ZZ-RAM V1.0 512k+C1541(18k RAM)+sd2iec +9.600 Rs232, Commodore 116 + 64k upgrade, ZX 81 ISSUE1 + ZX81XRAM

http://zz-indigo.mavipet.sk/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: OUT 127,146 a 154 na Didaktiku Gama
PříspěvekNapsal: 25.10.2013, 21:52 
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
Len doplnim - na pin PC0 su pripojene dalsie logicke TTL obvody ktore sa staraju o prepinanie banky.

Pokial bude PC0 nastaveny ako vstupny (bude vo vysokej impedancii), TTL obvody si budu mysliet ze je v LOG1 a teda aktivna bude banka 1. Ako vstupny sa nastavi defaultne resetom, alebo prislusnym OUTom do riadiaceho registra (vid predchadzajuce prispevky). Vtedy samozrejme nefunguje prepinanie pomocou OUT 127,x kde x<128 alebo OUT 95,x pretoze 8255 nenastavuje PC0.

Samotna 8255 si po reset sama defaultne nastavi vsetky porty ako vstupne, t.j. je to to iste ako keby clovek urobil OUT 127,155. Vstupny bude aj PC0 co znamena (ako som vyssie napisal) TTL obvody si budu mysliet ze je v LOG1 a nastrankuju banku 1.

Romka v Game je modifikovana, po starte nastavuje do 8255 aby PC0 bol vystupny a aby fungovalo prepinanie OUT 127,0 a OUT 127,1.

Diskface pravdepodobne nic nevie o tejto 8255, preto ju nijak neinicializuje, a vtedy PC0 zostava (defaultne po resete) vstupny a nie je mozne ho nastavit. A (ako som uz vyssie napisal o TTL obvodoch) je pristrankovana banka1. A navyse bez moznosti ju zmenit pomocou OUT 127,0 a OUT 127,1.

Ked potom pomocou OUT 127,146 resp. 154 nastavis PC0 ako vystupny, prepinanie samozrejme bude spravne fungovat.

Ale pozor ! Akakolvek zmena rezimu 8255 sposobi ze sa vystupne bity portov automaticky nastavia do nuly (vid datasheet). To znamena, ze ked spravis OUT 127,146 resp. 154, to je to iste ako keby si zaroven spravil aj OUT 127,0 takze ti automaticky nastrankuje banku 0.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: OUT 127,146 a 154 na Didaktiku Gama
PříspěvekNapsal: 25.10.2013, 22:13 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 10:52
Příspěvky: 1669
Bydliště: Mliecna draha
Has thanked: 19 times
Been thanked: 124 times
Busy píše:
Ale pozor ! Akakolvek zmena rezimu 8255 sposobi ze sa vystupne bity portov automaticky nastavia do nuly (vid datasheet). To znamena, ze ked spravis OUT 127,146 resp. 154, to je to iste ako keby si zaroven spravil aj OUT 127,0 takze ti automaticky nastrankuje banku 0.


Tak toto som si nepametal. :-( A to som sa z 8255 nacvicil hodne hodin.

_________________
Amiga 600 + a602, Amiga 600 PCB only, Commodore 64+ZZ-RAM V1.0 512k+C1541(18k RAM)+sd2iec +9.600 Rs232, Commodore 116 + 64k upgrade, ZX 81 ISSUE1 + ZX81XRAM

http://zz-indigo.mavipet.sk/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: OUT 127,146 a 154 na Didaktiku Gama
PříspěvekNapsal: 25.10.2013, 22: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
To je typické. Hlavne, že zas vyrývaš "borcami". Ale aby si si pozrel význam bitov, to už je priveľa čo? Si fakt komická postavička...

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


Nahoru
 Profil  
 
 Předmět příspěvku: Re: OUT 127,146 a 154 na Didaktiku Gama
PříspěvekNapsal: 25.10.2013, 22:50 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 10:52
Příspěvky: 1669
Bydliště: Mliecna draha
Has thanked: 19 times
Been thanked: 124 times
z00m píše:
To je typické. Hlavne, že zas vyrývaš "borcami". Ale aby si si pozrel význam bitov, to už je priveľa čo? Si fakt komická postavička...


1.) Nebol problem z vyznamom bytou ale reakciou na zmenu modu. Davaj si bacha za co si do mna ches kopnut.
2.) Nikdy som to nemusel riesit.

A hlavne: narozdiel od tvojho maly moje prispevky nejaku hodnotiu co sa tyka povodnej otazky.
Takze ja koncim "Borci" uz dorazili. I ked mam dojem ze uz neskoro, to dolezite bolo povedane.

_________________
Amiga 600 + a602, Amiga 600 PCB only, Commodore 64+ZZ-RAM V1.0 512k+C1541(18k RAM)+sd2iec +9.600 Rs232, Commodore 116 + 64k upgrade, ZX 81 ISSUE1 + ZX81XRAM

http://zz-indigo.mavipet.sk/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: OUT 127,146 a 154 na Didaktiku Gama
PříspěvekNapsal: 25.10.2013, 22:55 
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
zz_indigo píše:
z00m píše:
To je typické. Hlavne, že zas vyrývaš "borcami". Ale aby si si pozrel význam bitov, to už je priveľa čo? Si fakt komická postavička...


1.) Nebol problem z vyznamom bytou ale reakciou na zmenu modu. Davaj si bacha za co si do mna ches kopnut.
2.) Nikdy som to nemusel riesit.

A hlavne: narozdiel od tvojho maly moje prispevky nejaku hodnotiu co sa tyka povodnej otazky.
Takze ja koncim "Borci" uz dorazili. I ked mam dojem ze uz neskoro, to dolezite bolo povedane.


Ty si fakt neuveriteľný. Ale OK, dávam ti poslednú šancu. Píšem ti SZ.

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


Nahoru
 Profil  
 
 Předmět příspěvku: Re: OUT 127,146 a 154 na Didaktiku Gama
PříspěvekNapsal: 26.10.2013, 00:12 
Offline
Site Admin
Uživatelský avatar

Registrován: 11.05.2013, 23:48
Příspěvky: 10111
Bydliště: Praha
Has thanked: 1953 times
Been thanked: 1517 times
Uživatel zz_indigo byl zabanován na tři dny za nevhodné chování.

_________________
Amiga/Amstrad/Atari/Commodore/Mac/Nintendo/PS/PC/Sega/Tandy/ZX


Nahoru
 Profil  
 
 Předmět příspěvku: Re: OUT 127,146 a 154 na Didaktiku Gama
PříspěvekNapsal: 29.10.2013, 11:33 
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
Zajímala by mě jedna věc. Proč se všeobecně nejčastěji používá k přepnutí pamětové banky na DG port 127 - tedy řídící port 8255? Nemělo by se to správně přepínat tak, že se na začátku programu jednou nastaví 127 port C0-3 jako výstupní (MOD 0), a pak se podle potřeby přepíná banka pomocí OUT 95,0 / 95,1 ? Co když budu využívat bity na portu C 1-3 jako výstupní pro jiné zařízení (třeba ovládání žároviček na stromečku :D )? V tomhle případě je nevhodné manipulovat s řídícím portem 127, nebo se pletu?

A ještě jedna věc. Pokud to chápu správně, tak když na DG nastavím na řídícím portu C0-3 jako vstupní, můžu přepínat pamětovou banku z venku, externím HW na portu C0, nezávisle na software v DG. Je to tak?

_________________
>>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: OUT 127,146 a 154 na Didaktiku Gama
PříspěvekNapsal: 29.10.2013, 11:48 
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
Lanex píše:
Zajímala by mě jedna věc. Proč se všeobecně nejčastěji používá k přepnutí pamětové banky na DG port 127 - tedy řídící port 8255? Nemělo by se to správně přepínat tak, že se na začátku programu jednou nastaví 127 port C0-3 jako výstupní (MOD 0), a pak se podle potřeby přepíná banka pomocí OUT 95,0 / 95,1 ? Co když budu využívat bity na portu C 1-3 jako výstupní pro jiné zařízení (třeba ovládání žároviček na stromečku :D )? V tomhle případě je nevhodné manipulovat s řídícím portem 127, nebo se pletu?
(a) OUT 127,x kde x<128 nie je nastavovanie rezimu, ale iba nastavenie jedneho bitu na PC. Idealne pre prepinanie baniek na Game. Rezimy sa nastavuju len v pripade x>=128.
(b) Spravne davas otazku co ak budes vyuzivat ostatne bity na brane PC. Pri OUT 95,x nastavis vzdy celu branu PC naraz. Takze ked chces zmenit iba PC0, musis si ostatne bity bud pametat, alebo nacitat, vymaskovat, doplnit stav PC0 a zase poslat. Ovela jednoduchsie je urobit priamo OUT 127,0 alebo 1 pretoze tym nastavujes iba PC0 bez zmeny ostatnych vystupnych bitov na brane PC.

Samozrejme, ak ostatne vystupne bity na brane PC nepouzivas, alebo staci ked budu nastavene nejak "napevno", potom OUT 95,x je na prepinanie baniek rovnako dobre pouzitelne.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: OUT 127,146 a 154 na Didaktiku Gama
PříspěvekNapsal: 29.10.2013, 12:49 
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
aha.. už to vidím v dokumentaci 8255 :) díky!

_________________
>>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: OUT 127,146 a 154 na Didaktiku Gama
PříspěvekNapsal: 29.10.2013, 20:19 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 10:52
Příspěvky: 1669
Bydliště: Mliecna draha
Has thanked: 19 times
Been thanked: 124 times
Lanex píše:
A ještě jedna věc. Pokud to chápu správně, tak když na DG nastavím na řídícím portu C0-3 jako vstupní, můžu přepínat pamětovou banku z venku, externím HW na portu C0, nezávisle na software v DG. Je to tak?



Ad druha cast otazky. Ano. Tak ma napadlo ze tvoj problem bi mohol vyriesit aj pull-down odpor na PC0 (zacal by som z 10K a pripadne klesal 4k78/2k2/1K). Potom by si mal standardne banku 0 a inicializacia by nesposobila prehodenie banky.

_________________
Amiga 600 + a602, Amiga 600 PCB only, Commodore 64+ZZ-RAM V1.0 512k+C1541(18k RAM)+sd2iec +9.600 Rs232, Commodore 116 + 64k upgrade, ZX 81 ISSUE1 + ZX81XRAM

http://zz-indigo.mavipet.sk/


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: swenda a 5 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