Wiki
Downloads
Media Center
Search
Calendar
Links
Login
Register
Enterprise Forever
|
:HUN
|
Hardver
| Topic:
NICK 2.0 projekt
Pages:
1
2
»
Go Up
Print
Author
Topic: NICK 2.0 projekt (Read 639 times)
« previous
next »
tubybb
EP user
Offline
Posts: 328
OS:
Windows XP
Browser:
Firefox 3.6.25
NICK 2.0 projekt
«
on:
2012.February.10. 15:31:53 »
Tisztelt Fórumozók!
Azért nyitottam ezt a topicot, hogy időközönként beszámoljak arról, hol jár a NICK 2.0 projectem.
(Kérem a moderátorokat ne integrálják be ezt a témát másik topicba, mert itt csakis erről a témáról szándékozom disputálni.)
A projekt célja:
Olyan külső videoegység létrehozása, amely lehetőséget nyit az ENTERPRISE számítógép PC-s monitoron való megjelenítésre.
A külső videoegység kezdeti tulajdonságai:
- Buszbővítő egységhez történő csatlakozás
- Teljes NICK-sorparaméter tábla kompatibilitás (kivéve a vertikális szinkront és az interlace módot)
- Írható külső memóra amiből a videoegység a megjelenítendő képet generálja
- 800 x 600-as PC monitor felbontás
Késobbi tervek:
- Változtatható PC-monitor felbontás (1024x768, 1280x1024 ... stb)
- Extra videomódok a sorparaméter táblában
- PS/2 billentyűzet csatoló, amely az I/O hívásokra válaszolva
(a lista nem teljes később bővíteni fogom)
Logged
Enterprise Forever
NICK 2.0 projekt
«
on:
2012.February.10. 15:31:53 »
Logged
tubybb
EP user
Offline
Posts: 328
OS:
Windows XP
Browser:
Firefox 3.6.25
NICK 2.0 projekt
«
Reply #1 on:
2012.February.10. 15:32:37 »
Jelenleg ott tartok, hogy elkészült a megjelenítő HW kód és betöltöttem a hardverbe.
Programozható logikai kapukat használok, melyeket hardverleíró nyelven konfigurálok.
Elsőként azt tűztem ki célul, hogy egy 800x600-as képet jelenítsek meg PC monitoron 60Hz-es felbontásban.
A kimenet egy 8 ellenállásos RAMDAC az ENTERPRISE videomegjelenítésével azonos kombinációban.
A hardverhez csatlakozik egy 1MByte-os memória, amely a későbbi videomemória célját szolgálja.
A próbakódot úgy írtam meg, hogy a bekapcsolás utáni memóriaszemetet jelenítse meg a képernyőn. Minden pixel a memóra egy 8 bites rekeszének felel meg, tehát 256 színű.
Az LCD monitoromon kapott képet a csatolmányban prezentáltam.
Következő lépés: A HW összekapcsolása az ENTERPRISE buszával.
IMGP0040.JPG
(665.23 KB, 1024x768 - viewed 39 times.)
«
Last Edit: 2012.February.10. 16:32:50 by tubybb
»
Logged
IstvanV
EP addict
Offline
Posts: 2104
OS:
Linux 64 bit
Browser:
Firefox 5.0
Re: NICK 2.0 projekt
«
Reply #2 on:
2012.February.10. 15:54:49 »
Quote from: tubybb on 2012.February.10. 15:31:53
- Teljes NICK-sorparaméter tábla kompatibilitás (kivéve a vertikális szinkront és az interlace módot)
Tehát a több képernyős LPT-t használó animációk (mint például néhány demóban) se működnek ?
A video megszakításokat megvalósítja (egy LPT-n belül több is lehet), pontos időzítéssel ?
Logged
tubybb
EP user
Offline
Posts: 328
OS:
Windows XP
Browser:
Firefox 3.6.25
Re: NICK 2.0 projekt
«
Reply #3 on:
2012.February.10. 16:14:05 »
Tudtam, hogy elő fognak kerülni a NICK egyéb tulajdonságai is.
1. Mit értesz több képernyős LPT alatt?
2. Video megszakítással azért nem fogalalkozom, mert nem veszem ki a NICK-et és nem is iktatom ki, tehát a Nick továbbra is elvégzi. (Senki sem szeretné, ha kiforrasztanánk a szeretett Enterprise számítógépéből.)
Logged
Zozosoft
EP addict
Online
Posts: 5611
OS:
Windows XP
Browser:
Firefox 10.0
Re: NICK 2.0 projekt
«
Reply #4 on:
2012.February.10. 16:26:15 »
Quote from: tubybb on 2012.February.10. 16:14:05
1. Mit értesz több képernyős LPT alatt?
Az hogy egy LPT táblában nem csak egy kép lehet leírva, hanem tetszőleges: kép,szinkron,kép,szinkron,kép,szinkron... addig amíg nem jön egy reload bit, addig nem kezdi az elejéről a Nick.
Ennek egy speciális esete az interlace.
Logged
http://enterprise.iko.hu/
tubybb
EP user
Offline
Posts: 328
OS:
Windows XP
Browser:
Firefox 3.6.25
Re: NICK 2.0 projekt
«
Reply #5 on:
2012.February.10. 16:31:35 »
Elemezzük tovább kérlek!
Megértettem a működést. Csak nem tudom kinek van erre szüksége.
1. Mire jó egy többképernyős kép?
2. Milyen előnyei vannak?
3. Mennyire memóriapazarló?
4. A demókon kívül mi használja?
Logged
IstvanV
EP addict
Offline
Posts: 2104
OS:
Linux 64 bit
Browser:
Firefox 5.0
Re: NICK 2.0 projekt
«
Reply #6 on:
2012.February.10. 16:48:15 »
Quote from: tubybb on 2012.February.10. 16:31:35
1. Mire jó egy többképernyős kép?
Egyszerű animációt lehet megvalósítani vele, amely CPU használat nélkül jelenik meg.
Quote
2. Video megszakítással azért nem fogalalkozom, mert nem veszem ki a NICK-et és nem is iktatom ki, tehát a Nick továbbra is elvégzi. (Senki sem szeretné, ha kiforrasztanánk a szeretett Enterprise számítógépéből.)
Akkor nem jól értettem a NICK 2.0 célját
, azt hittem az eredeti teljes helyettesítésére készül, pl. olyan géphez is, amelyben a NICK elromlott. Így valóban kevésbé fontos a kompatibilitás, ha valami nem működik, az továbbra is használható a (rosszabb minőségű) eredeti video kimenettel.
«
Last Edit: 2012.February.10. 16:51:36 by IstvanV
»
Logged
tubybb
EP user
Offline
Posts: 328
OS:
Windows XP
Browser:
Firefox 3.6.25
Re: NICK 2.0 projekt
«
Reply #7 on:
2012.February.10. 17:06:44 »
Mivel monitorkat lehet venni potom pénzért, az Enterprise számítógép újra elfoglalhat egy sarkot a szobában letakarva, és várva gazdáját, hogy bármikor újra használja őt.
Én rendelkezem KM-switch eszközzel, amelynek segítségével egy billentyűzet-egér-monitor együttessel több gépet tudok használni, azok között átkapcsolni. Alig várom már, hogy a 2. gép az Enterprise lehessen.
Logged
Zozosoft
EP addict
Online
Posts: 5611
OS:
Windows XP
Browser:
Firefox 10.0
Re: NICK 2.0 projekt
«
Reply #8 on:
2012.February.10. 18:21:54 »
Quote from: IstvanV on 2012.February.10. 16:48:15
Akkor nem jól értettem a NICK 2.0 célját
, azt hittem az eredeti teljes helyettesítésére készül
Én is
Logged
http://enterprise.iko.hu/
lgb
EP fan
Offline
Posts: 238
OS:
Linux
Browser:
Safari
Re: NICK 2.0 projekt
«
Reply #9 on:
2012.February.10. 19:07:35 »
Quote from: IstvanV on 2012.February.10. 16:48:15
Egyszerű animációt lehet megvalósítani vele, amely CPU használat nélkül jelenik meg.
Akkor nem jól értettem a NICK 2.0 célját
, azt hittem az eredeti teljes helyettesítésére készül, pl. olyan géphez is, amelyben a NICK elromlott. Így valóban kevésbé fontos a kompatibilitás, ha valami nem működik, az továbbra is használható a (rosszabb minőségű) eredeti video kimenettel.
Hat igen, es pl jol jott volna olyan esetben ha "EP rebuild" project van, pl Z180-al, esetleg eZ80-al
Akkor a nick adott lenne, vhdl/verilog dolgokba - valaki hozzaerto, nem en
- bele is lehet irni picit, ha itt valami maskepp kene az illesztes miatt: lassan keszen lenne az uber-brutal EP 2.0, mar csak mondjuk a Dave hianyozna. Ha zonban valaki a hanggal nem foglalkozik, akkor max memory mapping, meg megszakitasok reszt kene megcsinalni, es mar - igaz hang nelkul - tesztelni is lehetne. Bar imho, akkor ha mar FPGA be lehetne melle tolni. Kesobb esetleg opcionalisan a CPU emulaciot is, es kesz a szep alom: a C64DTV-hez hasonlo "kompakt" EP, advanced tulajdonsagokkal! Csak mondjuk lehetne tv mimenet helyett jo kis whatever (VGA, HDMI, tudomisen). Szoval egy teljesen kompatibilis megoldas azert nagyon sok lehetseges jovobeli project-et is tudna szulni, plusz egy deffektes EP-et (Nick kaputt) is megmenthet, stb stb. Persze, ehhez full kompatibilitas kene.
Amugy szep pelda a C64 Chamelon project (vagy mi is), ahol a VIC-II-t "duplikaltak": ugy lett kvazi VGA kimenet, hogy a buszra kapcsolodik az FPGA-s cuccos, es mivel cycle exact VIC-II emulacio van, garantaltan az lesz annak "kimeneten" amit a gepbe epitett VIC-II mutatna. En azt gondoltam, valami ilyen keszul itt is ...
Ha felreertettem, es eddig feleslegesen "vitatkozgattam" itt, akkor bocsanatot kerek, nem allt szandekomban flame-elni.
Logged
lgb
EP fan
Offline
Posts: 238
OS:
Linux
Browser:
Safari
Re: NICK 2.0 projekt
«
Reply #10 on:
2012.February.10. 19:14:13 »
Quote from: tubybb on 2012.February.10. 16:31:35
Elemezzük tovább kérlek!
Megértettem a működést. Csak nem tudom kinek van erre szüksége.
1. Mire jó egy többképernyős kép?
2. Milyen előnyei vannak?
3. Mennyire memóriapazarló?
4. A demókon kívül mi használja?
Azert a memoriazabalasrol: most kepzeld el, hogy van egy kep, sync, kep, sync, stb, reload valahol soka
Ha a pointerek majdnem mindenhol ugyanazok, csak nehol van kulonbseg, akkor nem tul memoriazabalo, es ezzel nagyon szepen lehet nulla CPU-t hasznalo animaciot csinalni (felteve ha nem tul nagy a kulonbseg a kepek kozott, kulonben tenyleg tul sok memoria kellene). Ez az amire azt mondom, hogy ez a nick szepsege, ami miatt az egesz EP megfogott (amellett, hogy a memoriakezeles milyen elegans es szep szinten, nem olyan "ganyolt" mint a custom hackelt megoldasok C64-nel, stb). Ezert is kezdett erdekelni az EP, annak ellenere, hogy valojaban en "nem is voltam EP-s".
Az, hogy a demokon kivul mi hasznalja, jo kerdes: de akkor ilyen elven kizarni programokat, volt mar parrol szo, ami "extra" nick dolgokat csinal lasd pl iview. Es persze pont azt se felejtsuk, hogy pont egy ilyen project mint a nick2 katalizalhatna talan az ep-re uj programok irasat (mivel "profi" megjelenites is lenne, osszehasonlitva a tv kimenettel), es pont ekkor jonne jo a kompatibilitas, hiszen azert az ember szeretne, ha a "regi" gepen is menne (kiveve persze, ha valami extra nick2 feature-t hasznal, mint x2 read rate, es hasonlo otletek, amirol mar irtam, de persze az mas kerdes).
Logged
tubybb
EP user
Offline
Posts: 328
OS:
Windows XP
Browser:
Firefox 3.6.25
Re: NICK 2.0 projekt
«
Reply #11 on:
2012.February.11. 16:35:02 »
Tegnap elővettem az egyik lestrapált EP-met (természetesen én strapáltam le tizenpár év alatt), és átalakítottam az antenna kimenetet színes video kimenetre. Ez lesz a tesztgépem. EP 128 issue 6.
Első dolgom volt, hogy megnézzem mennyire tartja be a Z80 a specifikációt.
Írtam egy Assembly programot:
Code:
DI
LD HL,5000h
back
LD A,(HL)
LD A,(HL)
LD A,(HL)
LD A,(HL)
LD A,(HL)
LD A,(HL)
LD A,(HL)
.
; ezt még vagy 8000-szer egymás után
.
LD A,(HL)
LD A,(HL)
JP back
Arra voltam kíváncsi, hogy hány órajel az utasításbekérés, és mennyi a végrehajtás.
A kód futtatásakor elővettem az oszcilloszkópot, és rámértem az !M1 és !RD lábakra kétsugaras módban. Valóban a katalógus szerinti specifikációt mértem, így pontos időzítési értékeket tudok, amelyek megkönnyítik a külső NICK memóriavezérlőjének implementálását.
A következő szabályokat találtam:
Memória olvasásakor:
1. Egy órajelciklus ideje van a memóriavezérlőnek az adatokat szolgáltani, ha ezt nem tudja, akkor a WAIT lábbal késleltetni kell a processzor működését.
2. Addig kell a buszon tartani az adatokat, amíg !MREQ és !RD alacsony szintű.
Memória íráskor:
1. !MREQ és !WR lábak lefutóélére a buszon érvényes adat van, ami 1 órajelcikluson keresztül lesz ott.
Az I/O utsítások ugyanígy működnek, csak !MREQ helyett !IORQ a jelvezeték.
Projektemben az I/O utasításokat is figyelnem kell, mert a külső Nick csak így fogja tudni, honnan töltse be a sorparaméter táblát.
Logged
Zozosoft
EP addict
Online
Posts: 5611
OS:
Windows 7
Browser:
Firefox 9.0.1
Re: NICK 2.0 projekt
«
Reply #12 on:
2012.February.11. 16:38:02 »
OUT 191,12 után is nézd meg. És nem mindegy, hogy a HL normál vagy videó memóriába mutat.
Logged
http://enterprise.iko.hu/
tubybb
EP user
Offline
Posts: 328
OS:
Windows XP
Browser:
Firefox 3.6.25
Re: NICK 2.0 projekt
«
Reply #13 on:
2012.February.11. 17:05:16 »
Ez a DAVE 0BFh regisztere, amely a következő paraméterekkel rendelkezik:
b7 - b4 - nem használt
b3 - memóriahozzáférés módja (felső bit)
b2 - memóriahozzáférés módja (alsó bit)
b1 - Bemeneti órajelfrekvencia: 0 = 8MHz, 1 = 12MHz
b0 - Beépített RAM: 0 = 64K, 1 = 16K
memórihozzáférés módja:
11 - nincs várakozás
10 - nincs várakozás
01 - várakozás csak M1-nél (utasításolvasás), kivéve a VideoRam-ot
00 - várakozás minden memóriaműveletnél, kivéve a VideoRam-ot
OUT 191,12 - Nincs várakozás memóriaműveletnél
Egyébként direkt nem videomemóriát használtam a tesztre, mert tudom, hogy a Nick ciklust lop.
Csak azért kukkantottam rá az oszcilloszkóppal, hogy leellenőrizzem azt kapom-e, amit a specifikáció szerint elvárok, és igen, azt kaptam. Tudom, mennyi időm van elővenni a ramból az adatot.
Terveim szerint, az új videomódban minden képpont 256 színű lesz. Időzítés szempontjából ez a legmegterhelőbb. Minden képpont előtt memóriahozzáférésre van szükség. Két memóriahozzáférés közt, pont elfér egy plusz, egy CPU memória memóriahozzáférés. Sajnálatos, hogy a Z80 nem 40Mhz-en fut, mert ez az extra nem lesz maximálisan kihasználva.
Nincs 40 MHz-es Z80 valahol a világban?
Logged
IstvanV
EP addict
Offline
Posts: 2104
OS:
Linux 64 bit
Browser:
Firefox 5.0
Re: NICK 2.0 projekt
«
Reply #14 on:
2012.February.11. 17:26:32 »
Quote from: tubybb on 2012.February.11. 17:05:16
Nincs 40 MHz-es Z80 valahol a világban?
A Z80 gyorsítását az EP-ben az korlátozza, hogy a gép más részeit (elsősorban a DAVE-t) is gyorsítani kell. A gyakorlatban legfeljebb 7.12 (esetleg még 8 ) MHz-es Z80 órajelű EP konfiguráció fordul elő. Ez is gyakran csak az eredeti memória IC-k cseréjével működik megbízhatóan.
Logged
Enterprise Forever
Re: NICK 2.0 projekt
«
Reply #14 on:
2012.February.11. 17:26:32 »
Logged
Tags:
Pages:
1
2
»
Go Up
Print
Jump to:
Please select a destination:
-----------------------------
:HUN
-----------------------------
=> Játékok
=> Emulátorok
===> EP128Emu
===> EP32
=> Hardver
=> SOUND:
=> Programozás
=> Konvertálás
===> CPC-ről
===> Spectrum-ról
=> EP Klub
=> Weboldalak
=> Egyéb témák
=> Letöltések / Downloads
-----------------------------
:UK
-----------------------------
=> Summaries from the Hungarian topics
=> Hardware
=> Wanted
=> For Sale
=> Other topics
-----------------------------
Egyéb
-----------------------------
=> Archívum
« previous
next »
Enterprise Forever
|
:HUN
|
Hardver
| Topic:
NICK 2.0 projekt
Powered by SMF 1.1.2
|
SMF © 2006-2007, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks
Template made by Mr.Prise
Page created in 0.131 seconds with 25 queries.
Google visited last this page
Today
at 08:02
Loading...