Azt tudjatok, hogy Solder (Synergy, plus/4-es arc) lefotozta egy SID chip belsejet? A kepet postazta is valamelyik Usenet-es newsgroup-ba, talan a comp.sys.cbm-re.
Ugy hiszem nem vizsgalja a TED ketszer a bad line condition-t, hanem csak egyszer nezi meg (es azt a 7-tel hasonlitva).
Valszeg igazad van.
Fontos, hogy a TED a DMA-hoz lathatolag egyetlen funkcionalisan ket reszre osztott 80-as shift buffert hasznal (ugyis mint FIFO-sorbuffer?) Itt egy uj DMA-adat beolvasasa eltolja az addig beolvasott ertekeket, ezert azokat nem szabad elhajitani (eddig azt csinaltam). Ez teljesen megmagyarazza az FLI-ben tapasztalhato effektet, hogy egy rasztersor szinertekei az elozo rasztersor fenyero ertekeinek felelnek meg.
Ez nagyon hasznos info!
Gyanitom a Te problemad a tul keson generalt bad line-nal is ezzel kapcsolatos, azaz addig a pontig egyszeruen nincsenek fenyero ertekeid, csak szintertekek az elozo rasztersorbol, igy ott valamit,valahonnan hasznal a TED.... :-)
Szoval ez a dolog ugy nez ki (de majd elokeresem es elkuldom neked), hogy a karaktersor elejen az also fele a karaktereknek kulonbozo szinu de azonos arnyalatu mint a felo resz, mig a karaktersor tobbi reszenel mind a szin, mind a fenyero valtozik! Tehat nem valahonnan vesz valamit, hanem csak nem valtozik. Most az a kerdes, hogy amikor frissiti a TED ezt a belso buffert, akkor hogyan csinalja, honnan olvassa az datokat. Mert ha a memoriaban a karaktersor elejerol olvassa, de a kesleltetes miatt nem a buffer elejebe irja, akkor a DMA kesleltetes merteken allitva valszeg meg lehet csinalni, hogy vizszintesen tetszoleges karakterhelyel scrollozzuk a kepernyot! :)))))
Egyebkent egy rakas klasszikus jatek is buheralja ezeket a regisztereket a a fuggoleges finom scrollhoz, ha nem az egesz kepernyo scrollozodik, hanem csak egy resze. Talan azokat kene egyszer rendesen szetszedni, de szerintem meg ugy sem lesz konnyu a dolog.
En tudom, hogy miert buheraljak. Epp irni is akartam, hogy biztos azert csinaljak, mert nem az egesz kepernyot scrollozzak. A dolog ugyanis egyszeru. Gondolom tudod, hogy FF1F hatarozza meg, hogy egy rasztersorban az aktualis karaktersor melyik sora jelenjen meg a 8 kozul. Ha csak FF06-ot allitod, akkor a badlineok ennek megfeleloen jonnek majd, de FF1F ugyanugy ketyeg, ezert a karaktersorok korbecsusznak ha FF06 es FF1F nincs "szinkronban". Probald ki, hogy mi tortenik, ha a kepernyok kozepen allitod FF06-ot es vele FF1F-et is, vagy ha az utobbit elhagyod.
Abszolút mértékben nem, csak a világos szürke hordozón nagyonhalvány rózsaszínes ill. zöldes beütés nem annyira üt el egymástól és rohadtul fárasztja a szemet és egy idő után minden olyan szürkés valamibe megy át.
Ilyenkor mindig eszembe jut az az UL(?), hogy állítólag az oroszok az első procit úgy csinálták, hogy szereztek egy Z80-at, lecsiszolták, lemarták róla a tokot és mikroszkóppal visszafejtették a struktúrát.
Roviden: nem hinnem :-) Bar ezt viszonylag egyszeru leellenorizni. Inkabb valami olyasmire gyanaxom, hogy az FF06, FF1F es FF1F egyuttesen jatszik be valahogy, vagyis lenti a keplet meg kiegeszul valamivel.... De vajon mivel...
Most hogy elolvastam bubis meg Ati hozzászólásait ugrott be valami... Nem lehet, hogy mikor az FF1F-et írjuk, akkor változik vagy az FF1D vagy az FF06? Ez megmagyarázná azt, amit arról írtál, hogy folyamatos FF1F írással nincsenek badline-ok...
Ugy hiszem nem vizsgalja a TED ketszer a bad line condition-t, hanem
csak egyszer nezi meg (es azt a 7-tel hasonlitva). Az emulator uj betajaban most egyelore azt csinalom es az FLI-khez is igazabol csak annyi kellett hogy menjenek valamennyire, hogy az FF06-tal a leirt modon eloidezett bad line-okra mindig uj szinadatokat olvastatok (ami grafikus modban fenyero-infokent szolgal majd), a karakter DMA-ra meg azt nezem meg, hogy az elozo sor bad line volt-e es a 0. rasztersorban vagyok-e a karaktersoron belul. Fontos, hogy a TED a DMA-hoz lathatolag egyetlen funkcionalisan ket reszre osztott 80-as shift buffert hasznal (ugyis mint FIFO-sorbuffer?) Itt egy uj DMA-adat beolvasasa eltolja az addig beolvasott ertekeket, ezert azokat nem szabad elhajitani (eddig azt csinaltam). Ez teljesen megmagyarazza az FLI-ben tapasztalhato effektet, hogy egy rasztersor szinertekei az elozo rasztersor fenyero ertekeinek felelnek meg. Gyanitom a Te problemad a tul keson generalt bad line-nal is ezzel kapcsolatos, azaz addig a pontig egyszeruen nincsenek fenyero ertekeid, csak szintertekek az elozo rasztersorbol, igy ott valamit,valahonnan hasznal a TED.... :-)
A 64-en ha jol tudom "barmikor" lehet bad line-t generalni, de nem tudsz belole kikerulni, amig a DMA be nem fejezodott. GOndolom ez igaz lehet a plus/4-re is, csak eppen itt a DMA tovabb tart... Viszont valoszinuleg reset-elni lehet a DMA-t, legalabbis az FLI-s jelenseg erre latszik utalni...
Az FF1F tenyleg rejtelyesen viselkedik, en sem ertem, es marha jo lenne rajonni. Amikor probalkozgattam vele, pont ilyeneket tapasztaltam en is, mint amiket te irsz. Az a gyanum, hogy a bad line condition-be harom regiszter is bejatszik, csak nem tudom hogyan. Az FF1F-et egyebkent az elso bad line utan kezdi novelni a TED, es a karakteres kepernyo vegen le is allitja, onnantol mindig az utolso ervenyes ertek marad a kovetkezo frame kezdeteig (amikor is reset-eli 7-re).
Egyebkent egy rakas klasszikus jatek is buheralja ezeket a regisztereket a a fuggoleges finom scrollhoz, ha nem az egesz kepernyo scrollozodik, hanem csak egy resze. Talan azokat kene egyszer rendesen szetszedni, de szerintem meg ugy sem lesz konnyu a dolog.
Annó az egyetemen asszem a uA741 layout-ból kellett csak egy diff.erősítő részt kimazsolázni.
Egy 2 órás laborgyakorlat elment vele. És egy idő után már a színeket sem igazán látod. (Ha jól emlékszem a p szennyezés rózsaszínes volt, míg az n halvány zöldes.) Ha sokat nézted, akkor már nem tudtad eldönteni.
Azt hiszem a TED-ben lehet pár tranya és társai. Majd 100 éves korodban várjuk a kapcs.rajzot.
Ne hulyeskedjetek mar! :) Ezek csak kiserletezgetesek es C64-rol vettem az otletek jelentos reszet. Nincs meg semmi effektem amiben ezekbol barmit felhasznalok (bar tervezem). Egyedul az also/felso keret "leszedes" amit magam is kitalaltam, ezt hasznaltam a Heartfixerben.
Szerintem TED felfedezesben meg szabad a palya! Alig tudunk rola valamit.
Apropo tud valaki chip layoutot fenykepezni? Mert mar arra is gondoltam, hogy igy kene visszafejteni a TED-et, vagy ez alapjan emulalni. :)
Na meg valami aztan tenyleg huzok. Mikor csinaltam magamnak Plus/4-en grafikus 4x4 IRQ-t, tortent egy erdekes dolog. Ha a karakteren beluli 3. rasztersorban egy kicsit keson allitottam az FF06-ot a badline kivaltasa erdekeben, akkor ezen a teruleten a fenyero ertekek nem firissultek, hanem csak a szinek! Sajnos csak mostanaban jutott eszembe, hogy meg kellene nezni, hogy ilyenkor a fenyerok honnan frissultek. Tehat, hogy eltolodott, vagy csak onnantol frissult. Mert ha eltolodott, akkor talan mindket badline-t el lehet tolni (DMA delay C64-en) ez pedig azt jelenti, hogy vizszintesen karakter szinten is el lehet tolni a kepernyot egy kis TED trukkozessel! :)
Egyebkent ha az FF07 3. bitjevel szedi le az ember az oldalso keretet, akkor egyszeruen a hatterszin latszik a keret helyen is, viszont a vizszintes finom scroll ellenere is latod mind a 40 karaktert.
Egyszer a 200. sor utan is elkezdtem levenni az oldalso keretet. Erdekes volt, mert ugy tunik, hogy a proci visszakapcsolt 2Mhz-re, de attol meg szepen megjelenitett. Tippem szerint valahogy attol fugghet, hogy ilyenkor mi van a kepernyon, hogy milyen utasitasokat hajt vegre a proci. :) Nem probaltam meg ki, de el tudom kepzelni, hogy igy olyan szinek is kerulhetnek egy karakterhelyen belulre, amik egyebkent sehogyan sem.
Meg az is egy jo kerdes egyebkent, hogy mit csinal a test bit! Egyszer elhataroztam, hogy legalabb azt megnezem, hogy hogyan kavarja el a karakterek helyet a kepernyon, de meg nem jutottam odaig.
Szoval a badlinehoz kell, hogy FF1D&0x07 == FF06&0x07 teljesuljon es ha ez 0 illetve 7, akkor badline van.
Az a furcsa, hogy tudom, hogy ha ezek teljesulnek, akkor is el lehet az FF1F-el halasztani a badline-t, de nem egeszen ertem, hogy hogyan mukodik ez az egesz. Mert amikor azt csinaltam a fuggoleges ketszeres nyujtashoz, hogy folyamatosan eroszakosan felulirtam a FF1F-et ugy, hogy csak minden masodik sorban nojon az erteke eggyel, akkor elmaradtak a badlineok. Viszont ha csak valahol egyszeruen megvaltoztattam FF1F-et, akkor onnantol fogva a karakterek egyszeruen korbecsusztak, de a badlineok rendesen ugyanott jottek. Nem ertem! :)
Maugli: aha, az egy "régi" lap. Minden ami .htm-re végződik, az a Lando eredeti lapjáról maradt meg. Ezeket nem volt szívem leszedni, de már nincsenek update-elve. Szóval csak a .php-s lapokat vedd figyelembe :-)
Az tulzas, hogy Csabo benne van, de tenyleg rengeteget segit. Es sajnos a monitorra mar vegkepp semmi idom nem marad, ami eleg szegyen.
FLI: talaltam egy New_FLI nevu progit (amolyan Boris Vallejo-feleseg). Lehet tudni azokat ki kovette el?
Amiga Mania: annak a turboval van a baja szerintem. Azok viszont egyaltalan nem mukodnek meg. Egyelore fogalmam sincs miert, ahhoz pont a monitort kene majd elobb megbutykolni, hogy lehessen debuggolni a drive CPU-t is (gyanum szerint nem jo az idozites a ket CPU kozott). Van olyan turbo, ami elszall, valami ugy csinal, mintha toltene, egyszoval valtozatos, de egy dologban kozos: nem megy :-) Multkor beletettem egy patch-elo opciot, ami felulirja ROM LOAD rutinjat, hogy ne ugrojon a vektorra beirt cimre, de ha direct loader rutin van, ez sem segit.
Az FF06 es az FF1F kozti osszefugges nem tiszta meg (ugyis mint bad line condition). Ezt a ket regisztert par klasszikus jatek is buheralja scrollozashoz: Xcellor 8, Tom, Thrust, Paperboy, Bounder 2, Legionnaire...
Gyanum szerint, es ez most reszben bubisnak is szol, a bad line condition-t az FF1D es az FF06 allitja be, azaz ha ( FF1D&0x07 == FF06&0x07 ) akkor beindul a DMA, eloszor a szinadatok olvasasaval. Ha ez az elso DMA a frame-en belul, akkor beindul az FF1F novelese is minden uj rasztersorban (mindaddig 7-et tartalmaz), es ha a 0.-ban vagyunk, uj karakteradatokat olvasunk. Igy az FF1F-et felulirva el tudod halasztani az uj karakteradatok olvasasat is.
Na most a fenti gondolatmenettel az a baj, hogy vagy nem jol implementaltam vagy hibas (ott mindenkeppen, hogy igy elvileg egy sorra juthat mindketfajta DMA is, ami nyilvan marhasag) mert azok a regi jatekok sem mennek rendesen, nemhogy egy trukkosebb demo....
A public beta... hm. Igazabol az egesz Yape egy beta :-) Vagy inkabb bena :-)) Hamarosan ki akarok majd adni egy 1.0-nak nevezheto verziot, de ahhoz ezeket az FLI-s meg FLD-s dolgokat (meg FF1E es FF1F felulirasa) is ki kene egyenesiteni. A lemezes turbok tamogatasarol nem is beszelve.
Tudna valaki pontosabbat mondani az $FF1E,$FF1F-rol. Foleg az elobbirol. Kiserleteztem vele, de nem teljesen tiszta, hogy mi a hatasa a modositasanak.
$FF1F: ez szinten szerepet jatszik a badline conditionban nem? Mert ha jol emlekszem tudtam vele badline-t elhalasztani. Egyszer csak ennek a regiszternek a babralasaval csinaltam fuggoleges stretch-et.
Azt tudjatok, hogy Plus/4-en is le lehet szedni az oldalso keretet ugyanugy mint C64-en. Mondjuk oda meg nem nagyon sikerult tennem semmit, de asszem grafikus modban lehet szelesitetni is a kepernyot ($FF1E-vel?).
DMA delay-t csinalt mar valaki a TED-el?
Mikor lesz a TED-hez is egyszer olyan mint C64-en a VIC article! :)