ENTERPRISE KLUB
2021. október 2., 1055 Budapest, Nyugati tér 9. 14-19 óráig
Belépés kizárólag klubtagok részére! (Klubkártyával vagy előfizetéssel!)
Welcome, Guest. Please login or register.


Author Topic: SID illesztés EP-hez (Read 15963 times)

Offline lgb

  • EP addict
  • *
  • Posts: 3555
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 38.0 Firefox 38.0
    • View Profile
    • http://lgb.hu/
Re:SID illesztés EP-hez
« Reply #30 on: 2015.May.27. 14:58:20 »
Csak a printer portot defaultban macerálja a PRINTER: (ezért is lett a Boxsoft illesztőn a macerásabb soros porti jel)
És az audió bement az a buszcsatlakozón van :-) Csak úgy van értelme, ha utána EP-ből jön ki a hang :-D

Ez igaz. Viszont ha elsore kiserletezni akarnek, szerintem egyszerubb lenne a printeres megoldas (es akkor csak irunk, szoval pl a "pot" dolgok _is_ kiesnek mar eleve). Az mas kerdes, hogy veglegesnek kevesbe "szep" ...

Offline geco

  • EP addict
  • *
  • Posts: 6283
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 31.0 Firefox 31.0
    • View Profile
Re:SID illesztés EP-hez
« Reply #31 on: 2015.May.27. 18:30:40 »
Itt most pont ezt akarom megcsinálni. Ki kellene találni, hogy hogyan is legyen. :)

  • Van valahol egy összefüggő 32 BYTE-os szabad I/O terület, ahova "leképződnek" a SID regiszterei. Előny: egyszerű. Hátrány: a 256 BYTE-os I/O területből soknak tűnik a 32 BYTE, pláne akkor, ha esetleg többet :) is akarok kapcsolni a géphez egyszerre.
  • Van valahol kettő szabad I/O BYTE, az egyikre az írandó SID regiszter számát kell kiírni, a másikra meg mehet utána az adat. Előny: egyszerű. Hátrány: két I/O írás ciklus kell egy SID regiszter íráshoz.
  • Van valahol egy szabad I/O BYTE, amire megy a SID-nek szánt adat. A címet az I/O ciklus alatt az A15..A8 címvonalakra kierülő regiszter értéke adja. (Az A15/A14 "elkódolása" nem számít, mert a 8 bitből úgyis csak 5 kell.) Előny: egyszerű. Hátrány: program oldaláról fog kelleni "szabad" regiszter a cím beállításhoz, ez nem tudom mennyire bonyolítja meg a kódot. Illetve ez a ficsőr működik pl. Z180-on is?

Szóval mi legyen? :-D
Én az utolsó 2 megoldás valamelyikére szavazok :), az első a legszimpatikusabb, de a 32 I/O terület soknak tűnik, a harmadikat nem értem pontosan, csak gondolom ,hogy ez úgy működne, hogy a B megkapná a SID regisztert, C pedig az értéket?
A 2. megoldásnál a két I/O írás sztem teljesen jó lenne, bár itt is előfordulhat, hogy vagy be kell vezezni egy új regisztert, vagy épp eltárolni valamelyiket.
Melyiket lenne legegyszerűbb megvalósítani?

Offline balagesz

  • EP user
  • *
  • Posts: 274
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 38.0 Firefox 38.0
    • View Profile
Re:SID illesztés EP-hez
« Reply #32 on: 2015.May.27. 19:04:22 »
A 2. megoldásnál a két I/O írás sztem teljesen jó lenne, bár itt is előfordulhat, hogy vagy be kell vezezni egy új regisztert, vagy épp eltárolni valamelyiket.
Melyiket lenne legegyszerűbb megvalósítani?

Mindhárom megoldás a maga nemében egyszerű. (Viszont visszaolvasni nem lehet őket. :) ) De ha sorrendet akarok felállítani, akkor a legegyszerűbb az első verzió, utána a harmadik, majd a "legbonyolultabb" a második. De én is inkább a két regiszteres verziót preferálnám, ettől függetlenül. Az talán segítség lehet, hogy a címregiszternek tényleg csak az alsó 5 bitje lenne használatban, így oda maszkolás nélkül mehet a kiírás.

Akkor ez ezek szerint el is dőlt, :-D már csak egy címpárt kell kitalálni, ahol ez alapból ellehet.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 14016
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 38.0 Firefox 38.0
    • View Profile
    • http://enterprise.iko.hu/
Re:SID illesztés EP-hez
« Reply #33 on: 2015.May.27. 19:46:18 »
Én az utolsó 2 megoldás valamelyikére szavazok :), az első a legszimpatikusabb, de a 32 I/O terület soknak tűnik, a harmadikat nem értem pontosan, csak gondolom ,hogy ez úgy működne, hogy a B megkapná a SID regisztert, C pedig az értéket?
Nem ebben az esetben C-be kéne báziscím+SID cím.
Viszont amit mondasz az is megvalósítható lenne, ez a negyedik megoldás :-)

Ez esetben kihasználnánk a 16 bites I/O címzését a Z80-nak, amiből EP-n gond nélkül 14 bit használható, de ez pont elég is lenne. A normál 00-FFh I/O tartományból 1 cím lenne felhasználva, és a B regiszter lenne a SID cím.

De amúgy én is a két portosra gondoltam, ahogy pl az órakártya esetén is.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 14016
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 38.0 Firefox 38.0
    • View Profile
    • http://enterprise.iko.hu/
Re:SID illesztés EP-hez
« Reply #34 on: 2015.May.27. 19:53:03 »
Akkor ez ezek szerint el is dőlt, :-D már csak egy címpárt kell kitalálni, ahol ez alapból ellehet.
08-0Fh pl szabad.

Offline balagesz

  • EP user
  • *
  • Posts: 274
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 38.0 Firefox 38.0
    • View Profile
Re:SID illesztés EP-hez
« Reply #35 on: 2015.May.27. 20:27:07 »
Ez esetben kihasználnánk a 16 bites I/O címzését a Z80-nak, amiből EP-n gond nélkül 14 bit használható, de ez pont elég is lenne. A normál 00-FFh I/O tartományból 1 cím lenne felhasználva, és a B regiszter lenne a SID cím.

Én a harmadik verziónál erre gondoltam, de most már kíváncsi lettem: mi is lenne a negyedik? :)

08-0Fh pl szabad.

Pont mondani is akartam, hogy ha már cím, akkor lehetne 8. Így 4 ilyen bővítés is bekerülhet egyszerre a gépbe. (A 4.0-ás térhangzáshoz. :-D ) Ebből kiválasztunk egy alapértelmezettet párt, aztán kész is. Akkor ez is eldőlt. Viszont most jön az, amit gyűlölök: legszívesebben azonnal nekiállnék csinálni a drótozást, de sajnos előtte kell vennem valamilyen HCT-s tárolókat, mivel ilyenem nincs a fiókban. Grrrr... :) (Ahogy elnézem, kész is az új topik! Köszönöm!)
« Last Edit: 2015.May.27. 20:35:06 by balagesz »

Offline Zozosoft

  • EP addict
  • *
  • Posts: 14016
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 38.0 Firefox 38.0
    • View Profile
    • http://enterprise.iko.hu/
Re:SID illesztés EP-hez
« Reply #36 on: 2015.May.27. 20:35:28 »
Én a harmadik verziónál erre gondoltam, de most már kíváncsi lettem: mi is lenne a negyedik? :)
Akkor valamit valahol jól félreolvastam (telefonon, miközben pattogott a BKV busz a jó kis pesti utakon :-)
Olyanra is gondoltam, hogy egy portra menne felváltva a cím és adat.

Quote
Ebből Meg lassan lehetne külön topikot nyitni, mivel ez már átmegy erősen hardveresbe.
Intézkedtem :-)

Offline Zozosoft

  • EP addict
  • *
  • Posts: 14016
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 38.0 Firefox 38.0
    • View Profile
    • http://enterprise.iko.hu/
Re:SID illesztés EP-hez
« Reply #37 on: 2015.May.27. 20:42:22 »
Illetve ez a ficsőr működik pl. Z180-on is?[/li][/list]
Igen. (Sőt saját maga is használja, a belső regisztereit 00xxh címen kell címezni.)

Offline balagesz

  • EP user
  • *
  • Posts: 274
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 38.0 Firefox 38.0
    • View Profile
Re: SID illesztés EP-hez
« Reply #38 on: 2015.May.27. 20:52:30 »
Olyanra is gondoltam, hogy egy portra menne felváltva a cím és adat.

Ez azért több problémát hozna be, mint amennyit érne az egy megspórolt I/O regiszter. :) (Mondjuk van olyan hang-IC, ami egy szem írható regiszterrel működik, ilyen pl. az SN76489. De ebből a logikából a SID enyhén kilóg.)

Igen. (Sőt saját maga is használja, a belső regisztereit 00xxh címen kell címezni.)

Ezt jó tudni. Mondjuk - ahogy eddig láttam - ennek a fajta I/O címzésnek nincs hagyománya EP-n, emiatt sem erőltetném. Pedig jópofa. :-D

Offline lgb

  • EP addict
  • *
  • Posts: 3555
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 38.0 Firefox 38.0
    • View Profile
    • http://lgb.hu/
Re: SID illesztés EP-hez
« Reply #39 on: 2015.May.27. 22:13:19 »
Ezt jó tudni. Mondjuk - ahogy eddig láttam - ennek a fajta I/O címzésnek nincs hagyománya EP-n, emiatt sem erőltetném. Pedig jópofa. :-D

Mondjuk engem pont idegesit ennek _indokolatlan_ hasznalata egyes gepeken: boven untig eleg lenne 256db port, de mindenaron eroltetik a 16 bites I/O cimzest, aminek tobb karos kovetkezmenye is van aztan. Persze, van amikor lehet ertelme. En orulok, hogy az EP-n alapbol nem akartak mindenaron eroltetni (pl MSX-en sem nagyon hasznaljak, ha jol tudom - EP-n meg eleve a Dave is bekavar kicsit).

Offline ergoGnomik

  • EP addict
  • *
  • Posts: 1056
  • Country: hu
  • Stray cat from Commodore alley
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 31.9 Firefox 31.9
    • View Profile
Re: SID illesztés EP-hez
« Reply #40 on: 2015.May.28. 07:37:25 »
Mondjuk engem pont idegesit ennek _indokolatlan_ hasznalata egyes gepeken: boven untig eleg lenne 256db port, de mindenaron eroltetik a 16 bites I/O cimzest, aminek tobb karos kovetkezmenye is van aztan. Persze, van amikor lehet ertelme.

Engem érdekelne, hogy szerinted mikor indokolt és mikor indokolatlan a 16 bites I/O címzés, és mik a káros következmények?

Offline lgb

  • EP addict
  • *
  • Posts: 3555
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 38.0 Firefox 38.0
    • View Profile
    • http://lgb.hu/
Re: SID illesztés EP-hez
« Reply #41 on: 2015.May.28. 11:34:30 »
Engem érdekelne, hogy szerinted mikor indokolt és mikor indokolatlan a 16 bites I/O címzés, és mik a káros következmények?

Indokolatlan es rossz tervezesre vall (vagy legalabbis minimal design / olcsosag mindennek elott feeling), ha 256 port toredeke is eleg (meg gondolva az esetleges kesobbi bovitesre is amugy), megis 16 bites I/O cimeket hasznalnak, szerintem legalabbis. Abban nem vagyok biztos, de mintha a Zilog se ajanlana a 16 bites I/O cimzest Z80-on, en a gyarto velemenyeben meg csak biznek. Karos kovetkezmenyek kozott emlitendo, hogy bonyolultabb: ha konstans modon adod meg az I/O portot - pl OUT (0xB0),... - akkor ha jol emlekszem a cimbusz felso 8 bitjen az A register erteke lesz, ezt akkor kulon be kell allitani. Masreszt viszont erdekes es frappans trukk, ha van olyan helyzet 16 bites I/O cimzes eseten, ahol mondjuk a kiirni kivant adat egyben az I/O cim felso 8 bitje is, ilyet mar lattam, igaz nem EP-n. Ez pl szamomra az ugyes trukk kategoria :)

Az OUT (C), ... jellegu megoldasnal nyilvan a B register is feltoltendo, es gyakorlatilag majd a BC reg.par erteke jelenik meg a cimbuszon. Itt is igaz, hogy egy tovabbi registert kell kulon tolteni, masra nem tudod hasznalni (pedig lehet, hogy kene inkabb masra). Vegrehajtasi idoben is lassabb nyilvan, ha figyelembe veszed, hogy 16 bitnyi cimet kell prezentalni/elokesziteni 8 bit helyett (plusz tovabbi veszteseg, ha emiatt egy regiszterrol le kell mondanod pl egy performancia kritikus ciklus kozepen - amit masra hasznalhatnal -, igy a kod tobbi resze is csak lassab valtozatban valosithato meg). Tovabbi problema, hogy egyes opcode-ok is kvazi hasznalhatatlanok vagy legalabbis kenyelmetlenek, mivel a B-t is allitjak a peldanak okaert, igy vegrehajtasuk utan "elrontjak" a B-t, a 16 bites cimzes eseten ujra be kell allitani mindig. Gondolok itt az INI, INIR es ilyesmikre. Jo pelda erre, ha az ember megnezi a SymbOS forraskodjat (amikor meg en probaltam sajat erobol portolni EP-re disasm alapjan kb "binaris memdump patching" nagyon ronda szinten hehe), talan CPC-n volt ilyen, igy persze lassabb is, mint lehetne ...

EP eseten ugye problema, hogy valojaban 16 bites I/O cimzes nincs is, csak 14 bites :) Mivel a Dave - ugy tunik - az I/O cimeknel is elvegzi a "dolgat". Ezt persze lehet a Dave bug-janak is tekineni (eleg lenne memoriahozzaferes eseten csinalnia), bar hatareset, mivel elvileg nem is eroltettek gondolom a tervezok a 16 bites I/O cimzest EP-n, lehet, ezert nem is foglalkoztak a kerdessel, es nem zavarta oket ez tulsagosan.

Ettol persze igaz (nem vitatom), hogy van amikor jol johet!  Viszont eroltetni hiba, hogy mindenaron mindenhol ez legyen. Peldaul a SID dolgok kapcsan nekem tetszett az a megoldas is, ahol csak egyetlen portot foglalna peldaul az EP-n altalaban szokasos 8 bites I/O cimtartomanybol, es a SID register kivalasztasa a felso byte also 5 bitje altal tortenik (igy itt a Dave "bezavarasa" sem gond). Nyilvan nem fekete-feher a dolog!

Offline szipucsu

  • EP addict
  • *
  • Posts: 9125
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 38.0 Firefox 38.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re:SID illesztés EP-hez
« Reply #42 on: 2015.May.28. 12:40:07 »
pattogott a BKV busz a jó kis pesti utakon :-)
Csak nem a 30 éves EP találkozó helyére mentél éppen? :D
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Offline Zozosoft

  • EP addict
  • *
  • Posts: 14016
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 38.0 Firefox 38.0
    • View Profile
    • http://enterprise.iko.hu/
Re: SID illesztés EP-hez
« Reply #43 on: 2015.May.28. 14:13:09 »
TVC SID-ről annyit sikerült megtudni, hogy a 25. TVC újságban írtak róla. Bár túl sok hardver részlet nem derül ki róla... ha jól értem a dolgot ott E0-FFh I/O címeken lehetett a SID.

Offline balagesz

  • EP user
  • *
  • Posts: 274
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 38.0 Firefox 38.0
    • View Profile
Re: SID illesztés EP-hez
« Reply #44 on: 2015.May.29. 21:07:03 »
TVC SID-ről annyit sikerült megtudni, hogy a 25. TVC újságban írtak róla.

Belelapoztam pár számba ebből az újságból. Érdekes "kortünet". :) Több példányban látni "hirdetésben" eladó kártyát. Valószínűleg ilyen verzió lehetett az is, amit anno láthattam. Túl nagy széria nem készülhetett azért belőle (sok szervizt kellet volna kifosztani...), de nem házi készítésű volt a nyák.