Enterprise Forever  |  :HUN  |  Hardver  |  Topic: NICK 2.0 projekt
Author Topic: NICK 2.0 projekt  (Read 639 times)« previous next »
tubybb
EP user
*
Offline Offline

Hungary

Posts: 328


OS:
Windows XP
Browser:
Firefox 3.6.25


View Profile
New Posts
« 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
« on: 2012.February.10. 15:31:53 »

 Logged

tubybb
EP user
*
Offline Offline

Hungary

Posts: 328


OS:
Windows XP
Browser:
Firefox 3.6.25


View Profile
New Posts
« 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 Offline

Posts: 2104

OS:
Linux 64 bit
Browser:
Firefox 5.0


View Profile
New Posts
« Reply #2 on: 2012.February.10. 15:54:49 »

- 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 Offline

Hungary

Posts: 328


OS:
Windows XP
Browser:
Firefox 3.6.25


View Profile
New Posts
« 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 Online

Hungary

Posts: 5611


OS:
Windows XP
Browser:
Firefox 10.0


View Profile WWW
New Posts
« Reply #4 on: 2012.February.10. 16:26:15 »

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


tubybb
EP user
*
Offline Offline

Hungary

Posts: 328


OS:
Windows XP
Browser:
Firefox 3.6.25


View Profile
New Posts
« 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 Offline

Posts: 2104

OS:
Linux 64 bit
Browser:
Firefox 5.0


View Profile
New Posts
« Reply #6 on: 2012.February.10. 16:48:15 »

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 ds_icon_redface, 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 Offline

Hungary

Posts: 328


OS:
Windows XP
Browser:
Firefox 3.6.25


View Profile
New Posts
« 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 Online

Hungary

Posts: 5611


OS:
Windows XP
Browser:
Firefox 10.0


View Profile WWW
New Posts
« Reply #8 on: 2012.February.10. 18:21:54 »

Akkor nem jól értettem a NICK 2.0 célját ds_icon_redface, azt hittem az eredeti teljes helyettesítésére készül
Én is  ds_icon_redface
Logged


lgb
EP fan
*
Offline Offline

Hungary

Posts: 238


OS:
Linux
Browser:
Safari


View Profile WWW
New Posts
« Reply #9 on: 2012.February.10. 19:07:35 »

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 ds_icon_redface, 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 Smiley Akkor a nick adott lenne, vhdl/verilog dolgokba - valaki hozzaerto, nem en Smiley - 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 Offline

Hungary

Posts: 238


OS:
Linux
Browser:
Safari


View Profile WWW
New Posts
« Reply #10 on: 2012.February.10. 19:14:13 »

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 Smiley 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 Offline

Hungary

Posts: 328


OS:
Windows XP
Browser:
Firefox 3.6.25


View Profile
New Posts
« 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 Online

Hungary

Posts: 5611


OS:
Windows 7
Browser:
Firefox 9.0.1


View Profile WWW
New Posts
« 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


tubybb
EP user
*
Offline Offline

Hungary

Posts: 328


OS:
Windows XP
Browser:
Firefox 3.6.25


View Profile
New Posts
« 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 Offline

Posts: 2104

OS:
Linux 64 bit
Browser:
Firefox 5.0


View Profile
New Posts
« Reply #14 on: 2012.February.11. 17:26:32 »

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
« Reply #14 on: 2012.February.11. 17:26:32 »

 Logged
Tags:
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
Follow ep4ever_news on Twitter