You are not logged in.

Dear visitor, welcome to Forum64. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

Posts: 1,788

Date of registration: Aug 28th 2005

Location: Leverkusen

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

41

Thursday, August 7th 2008, 3:58am

Also... der NEC 7220 soll meinen bisherigen Aufbau ergänzen, also _zusätzlich_ mit auf die Platine. Der 6545 soll wie bislang den Textmodus realisieren und der NEC 7220 diesen gleichzeitig mit seiner hochauflösenden Grafik überlagern -- damit hat man dann den superschnellen Textmodus mit selbstdefinierten Zeichensatz und gleichzeitig eine hochauflösende Grafik mit einem superschnellen, intelligenten Grafikprozessor - mehr Spaß ist in Grün eigentlich nicht darstellbar :-)

Das ist also wirklich nichts anderes als eine Hi-Res-Erweiterung. Über die originale von Commodore habe ich leider nie etwas in Erfahrung bringen können - ich habe nur einmal ein Bild von ihr gesehen, das nach einem riesigen TTL-Grab aussah. Das macht nicht gerade Lust darauf, das Ding zu beschaffen und nachzubauen...
Das Design mit dem 7220 ist dagegen sehr einfach. Zwei I/O-Ports, damit man dem Ding sagen kann, was es machen soll, etwas Video-RAM (bis zu 512 KB) das ruhig dynamisch sein darf, ein Schieberegister - fertig ist die Soße.

Das Ding kann Textmodus mit Charakter-Generator-EPROM wie auch Grafikmodus, leider nur entweder - oder. Erst der Nachfolgetyp konnte beides gleichzeitig. Es gibt aber einen Befehl, um vordefinierte Bereiche quasi zu kopieren - damit muß man ein "A" nicht Punkt für Punkt malen, sondern kann dem NEC sagen, kopier mir den Grafik-Bereich "A" an die Stelle, wo das "A" ausgegeben werden soll - das ist deutlich schneller - aber den Textmodus soll ja ohnehin weiter brav der 6545 erledigen.
Am Monitor soll sich natürlich dementsprechend auch nichts ändern, auch wenn der NEC wesentlich mehr (2048x2048) könnte, als im CBM üblich ist.

Denkbar wäre natürlich, Graustufen zu implementieren - aber das ist Zukunftsmusik und nicht mein vorrangiges Ziel. Das hängt unter anderem davon ab, ob der im CBM eingebaute Monitor das Video-Signal als Digitales-TTL verwurstet (was es ja eigentlich ist) -- dann wäre das ein no-go, oder ob der das als analoges mit Pegel von 0-5V nimmt - dann wäre alles sehr einfach.

Eine Kurzbeschreibung (3 Seiten) habe ich als PDF angehangen - bei der feature's list wird einem schwindelig, vor allem, wenn man die Zeit (1984) bedenkt - es fängt an mit den Worten "The uPD7220A high-performance graphics display controller (HGDC) is an intelligent microprocessor peripheral designed to be the heart of a high-performance raster scan computer graphics and character display system."

Das Ding kann verschiedene Fenster scrollen, Cursor in verschieden Größen erzeugen, zoomen, Linien, Bögen, Kreise, Rechtecke und Grafik-Zeichen malen und braucht für einen read-modify-write-Zyklus des Video-RAMs gerade mal 500ns - bei 5 MHz kann man also eine ganze Menge Pixel pro Sekunde auf den Schirm pusten.

Die Designer des Apple Lisa haben erwägt, den NEC 7220 in ihrer Lisa zu verwenden - aber der Chip war damals noch nicht fertig, Apple wäre von der Lieferfähigkeit abhängig gewesen, hätte hohe Preise bezahlen müssen, die die Lisa noch viel teurer gemacht hätten und hätten Performance-Verluste bei Bitmap-Grafik gehabt, weshalb sie sich zu einem riesigen TTL-Grab entschieden haben.

Bitmap-Grafik ist in der Tat nicht so schnell, aber für mich kein Nachteil. Ich will keine Photo-Bearbeitung mit dem Ding machen, sondern denke in erster Linie an Vektor-Grafik a la Vectrex oder technische Zeichnungen, Diagramme etc.

Noch ist das aber nicht so weit... eines nach dem andern. Bislang hält mich noch das CHARGEN in Beschlag. Ich habe jetzt einen Font-Editor angefangen, und dabei wurde ein kapitaler Fehler offenbar, der bislang bei meinen Experimenten mit PEEK und POKE zu Fuß nicht auffiel - der Font wird in Spiegelschrift dargestellt(!) Sehr interessanter Effekt übrigens... :-)

Ich habe im freien ROM-Sockel das Original-Zeichensatz-ROM ausgelesen, mit dem TIM auf Diskette gespeichert und dann in das RAM des CHARGEN geladen - erscheint spiegelverkehrt.

Das macht der Funktion zwar keinen Abbruch, da man ja den Font im RAM oder auf Diskette in die richtige Bit-Reihenfolge bringen kann, aber schön ist das nicht.

Warum das so ist, verstehe ich noch nicht genau.
for(;;) has attached the following file:
  • NEC_D7220D.pdf (168.44 kB - 3 times downloaded - latest: Apr 19th 2009, 12:06am)

42

Thursday, August 7th 2008, 8:37am

Was ist wenn wir GAL 16V8 für alle Aufgaben einsetzen wo jetzt TTL sind? Damit könnten wir die CS für ROM Char-RAM splitten und auch den IO für den NEC generieren.

Das mit dem Spiegelverkehrt sehe ich nicht so tragisch, hauptsache man kann überhaupt Einfluss auf das Charakter Design nehmen. Außerdem könnte man einfach die Datenleitungen verdrehen (d7-d0, d6-d1, ...). Natürlich nur auf einer Seite des dual ported ...

43

Thursday, August 7th 2008, 12:02pm

Sieht alles sehr gut aus. Nächste Woche hätte ich etwas mehr Zeit, aber kein Dual-Ported RAM. :/

Michael
If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -

44

Thursday, August 7th 2008, 1:30pm

Du kannst ja mal alles vorbereiten. Das Ram in den Sockel stecken sobald es da ist, benötigt ja keine Zeit. ;)

Posts: 1,788

Date of registration: Aug 28th 2005

Location: Leverkusen

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

45

Thursday, August 7th 2008, 6:45pm

Ein GAL könnte den Job sicher machen. Ich selbst kann aber derzeit keine GALs brennen und würde ungerne deswegen extra GALBLAST oder ähnliches bauen. Meiner Meinung nach ist die TTL-Grab-Schmerzgrenze aber auch noch nicht erreicht, das sind ja gerade mal zwei Stück! Das Teilen für Lese- bzw. Schreibzugriffe kommt bestimmt auch mit gerade mal einem weiteren aus, dann wären es drei. Das CS für den NEC wäre z.B. ein 74HCT138 an dem 74HCT139, der jetzt an das IDT geht - ich finde, das ist alles noch sehr gut überschaubar.
Habt Ihr denn die Möglichkeit, GALs zu brennen?

Mit dem "alles vorbereiten" wäre ich erst mal vorsichtig. Meine Schaltung arbeitet noch nicht so stabil, wie ich mir das wünsche. Ich hoffe, es sind "nur" Fehler beim Löten des Fädeldrahts und hoffe, daß da nichts einstreut in die Flachbandleitungen - dann müsste ich die irgendwie entstören... ein MEMTEST würde mein Aufbau jedenfalls derzeit nicht bestehen :-(

Der Font-Editor ist in einer brauchbaren 1.0 - Fassung fertig - bis auf die Tatsache, daß ich noch in den TIM gehen muß, um meine Arbeit zu speichern. Laden kann er schon. Wie kann ich denn von BASIC aus zusammenhängende Speicherblöcke sichern? Das Laden übernimmt derzeit einfach ein LOAD-Befehl, das klappt sogar mit der mit PETSPEED compilierten Fassung sehr gut.

Der Editor läuft sowohl mit 40 als auch mit 80 Zeichen pro Zeile. Derzeit setzt er RAM ab $9000 vorraus, das kann man auf dem 8296 durch Setzen einer Steckbrücke auf J4 bekommen - damit kann man auch ohne existierende Schaltung schon mal mit dem Editor spielen und sich eigene Zeichensätze entwerfen.

Ich denke, ich werde bei Gelegenheit die Leitungen auf der Platine drehen. Der Editor kann jetzt jedenfalls mit X das aktuelle Zeichen horizontal spiegeln und mit ! alle Zeichen. Das ! konnte ich mir nicht verkneifen...

Wenn das Ding auch sichern kann, würde ich gerne die "erste Fassung" online stellen.

46

Thursday, August 7th 2008, 7:15pm

Habt Ihr denn die Möglichkeit, GALs zu brennen?

Mein TOP2049 Eprommer kann das offenbar.

Ich habe mir mal so 16v8 bestellt ...

Mit dem "alles vorbereiten" wäre ich erst mal vorsichtig. Meine Schaltung arbeitet noch nicht so stabil, wie ich mir das wünsche. Ich hoffe, es sind "nur" Fehler beim Löten des Fädeldrahts und hoffe, daß da nichts einstreut in die Flachbandleitungen - dann müsste ich die irgendwie entstören... ein MEMTEST würde mein Aufbau jedenfalls derzeit nicht bestehen :-(

Naja eine Print und damit möglichst kurze Verbindungen wird das Problem schon lösen?

Der Font-Editor ist in einer brauchbaren 1.0 - Fassung fertig - bis auf die Tatsache, daß ich noch in den TIM gehen muß, um meine Arbeit zu speichern. Laden kann er schon. Wie kann ich denn von BASIC aus zusammenhängende Speicherblöcke sichern? Das Laden übernimmt derzeit einfach ein LOAD-Befehl, das klappt sogar mit der mit PETSPEED compilierten Fassung sehr gut.

Ein Mini Assemblerprogramm und gut. Oder einfach byteweise schreiben: open"xx,s,w", Peek() und Put#

Der Editor läuft sowohl mit 40 als auch mit 80 Zeichen pro Zeile. Derzeit setzt er RAM ab $9000 vorraus, das kann man auf dem 8296 durch Setzen einer Steckbrücke auf J4 bekommen - damit kann man auch ohne existierende Schaltung schon mal mit dem Editor spielen und sich eigene Zeichensätze entwerfen.

dafür habe ich einen Schalter ... :D

Wenn das Ding auch sichern kann, würde ich gerne die "erste Fassung" online stellen.

super!

Posts: 1,788

Date of registration: Aug 28th 2005

Location: Leverkusen

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

47

Thursday, August 7th 2008, 11:00pm

puh... das ist Neuland für mich... Assembler ja, aber mit dem 6502...
etwa so?

FILPAR = $FFBA
FILNAM = $FFBD
SAVE = $FFD8

LDX #$08
JSR FILPAR
LDX #<(NAME)
LDY #>(NAME)
LDA #$06 ; LEN("MYFONT")
JSR FILNAM
LDX #$00
LDY #$90
STX $FB
STY $FC
LDA #$FB ; Pointer auf Zeropage-Adressen
LDX #$00
LDY #$94 ; Endadresse plus 1
JSR SAVE
RTS

NAME .TEXT "MYFONT"

Posts: 1,788

Date of registration: Aug 28th 2005

Location: Leverkusen

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

48

Friday, August 8th 2008, 1:10am

ähm... nein, so nicht. Das kehrt mit einem Syntax-Error zurück. Weiß jemand, warum?

Wie auch immer... wenn schon Hack, dann richtig: er speichert jetzt und läßt das nach wie vor den TIM machen, nur daß man das jetzt eben nicht mehr von Hand machen muß, sondern der Font-Editor macht das :-)

Byteweise speichern aus BASIC hätte bestimmt ewig gedauert. Und ich wusste nicht, wie ich aus BASIC heraus ein PRG-Datei mit Startadresse erzeuge - kann mir das jemand sagen?

Dann werde ich morgen mal zusehen, wie ich das online gestellt bekomme... das wird bestimmt wieder ein Heiden-Spaß. Fremde Software auf fremden Rechner installieren, Kabel raus kramen, etc...

Und das soll es dann aber auch gewesen sein vor meinem Umzug.

49

Friday, August 8th 2008, 8:28am

Byteweise speichern aus BASIC hätte bestimmt ewig gedauert.

Nö nach einem PETSPEED Lauf würde das ziemlich zügig gehen.

Und ich wusste nicht, wie ich aus BASIC heraus ein PRG-Datei mit Startadresse erzeuge - kann mir das jemand sagen?

PRG Datei mit ,P,W am ende des Filenamen wenn ich mich recht erinnere. Startadresse, das ist easy, das sind einfach die ersten beiden Bytes in der Datei ...

Posts: 1,788

Date of registration: Aug 28th 2005

Location: Leverkusen

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

50

Friday, August 8th 2008, 11:00am

Du hast Recht, geht wirklich verblüffend schnell, sogar in interpretiertem BASIC.
Ich habe leider überhaupt keine Zeit mehr, das save ausreichend zu Testen, das Speichern des ersten Fonts scheint zu klappen, das des zweiten aber noch nicht. Ich muß das hier aber definitv erst mal abbrechen.
Ich werde heute noch versuchen, das Ding online zu stellen - und dann dabei beide Fassungen beilegen, die aktuelle und die letzte, die den TIM benutzt.

Gute Nachrichten gibt es!

Datt Sch****-Ding läuft!

Der Fehler lag weder an meinen Lötkünsten, noch an irgendwelcher kosmischen Strahlung an Flachbandkabel :-)
Es waren ganz einfach Kontaktschwierigkeiten am alten, minderwertigen Sockel der ROM-Erweiterung.
Ich habe meinen Stecker dann dort ein paar mal gezogen und wieder gesteckt - mit anfangs sehr ernüchternden Ergebnissen: wurde erstmal schlimmer statt besser - jetzt läuft aber alles perfekt!

Auf den Screenshots kann man schon das FONTEDIT mit dem neuen Font GIGA sehen - die Bilder sind zwar nicht so dolle, aber man kann deutlich erkennen, daß der Font eckiger ist, als der Standard-Font.

Und weil ich in der Nacht nicht wirklich viel Schlaf gefunden habe, habe ich dem CHARGEN auch gleich noch eine Homepage spendiert - das ist irgendwie übersichtlicher als ein ewig langer Thread in einem Forum: http://home.germany.net/nils.eilers/chargen
for(;;) has attached the following images:
  • fontedit10.jpg
  • fontedit10help.jpg

51

Friday, August 8th 2008, 11:16am

Hey for() du bist genial!! :juhu:

52

Friday, August 8th 2008, 1:41pm

So endlich gefunden, ich wusste ich habe das mal gelesen: klick

Quoted

2) 4040 dual disk drive
The disk drives have a 6502 and a 6504 (6502 with reduced address
range). One CPU gets the inverted Phi0 of the other as clock input.
So both CPUs run in parallel using each one half-cylce of the original
clock. The address lines of the shared memory are multiplexed between
the two CPUs using the clock line signals.
Interestingly the data bus of both CPUs is directly connected, which
means that the data bus is in fact really needed a short time only
(or in the respective half-cycle only).


Es tut zwar nix zur Sache, aber die 6502 läßt die Adresse offenbar "stehen" während des Phi2 während die Datenleitungen hochohmig werden. Darum müssen die Adressleitungen umgeschaltet werden für das shared Memory der zwei Prozessor Floppys.


Ich folgere daraus, dass wir für unseren "6502 Ersatz" auch nur die Datenleitungen schalten müssen? Also ein 74LS145 und gut. Dazu ein Inverter für den Phi2 und einen driver für Phi1.

53

Friday, August 8th 2008, 3:19pm

Wo bekommt man denn ohne lange Lieferzeiten diese Dualport-RAMs ? - So richtig schnell und peng. ;)

Dann baue ich es mal nach und versuche mich an weiterer Software.

Wozu braucht man denn die Flachband-Leitung ? - Iirc flackern die Signale ab ca. 10cm.

Michael
If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -

This post has been edited 1 times, last edit by "cbmhardware" (Aug 8th 2008, 4:40pm)


54

Friday, August 8th 2008, 4:06pm

Ich habe zufällig welche bekommen beim allbekannten Auktionshaus. Gleich nachdem for() seine Löszung presentierte, habe ich kurz gesucht und gefunden. Solltest du keine kriegen kann ich dir schon zwei abtreten.

HofMar

Intermediate

  • "HofMar" is male

Posts: 242

Date of registration: Jan 21st 2006

Location: 12xxx Berlin

  • Send private message

member since 72 month member since 72 month member since 72 month member since 72 month

55

Friday, August 8th 2008, 4:25pm

Hallo,
Es tut zwar nix zur Sache, aber die 6502 läßt die Adresse offenbar "stehen" während des Phi2 während die Datenleitungen hochohmig werden. Darum müssen die Adressleitungen umgeschaltet werden für das shared Memory der zwei Prozessor Floppys.

Ich folgere daraus, dass wir für unseren "6502 Ersatz" auch nur die Datenleitungen schalten müssen? Also ein 74LS145 und gut. Dazu ein Inverter für den Phi2 und einen driver für Phi1.

Vom Prinzip ist das soweit richtig. Die Adressleitungen werden beim 6502 immer bedient. Jedoch hat der 6510 noch ein weiteres Signal (AEC: Address Enable Control), mit denen auch die Adressleitungen hochohmig geschaltet werden können.

Dann gibt es auch noch die 6512 (entspricht der 6502 ohne OnChip-Takterzeugung), welche sogar einen DBE (Data Bus Enable) hat.

Adressleitungen und auch weitere Steuerleitungen ändern ihren Zustand, wenn Phi2 low ist. Der Datentransfer findet bei Phi2 high statt. Jedoch muß bedacht werden, daß noch mind. 20ns nachdem Phi2 low wurde, die gültigen Daten anliegen bzw. anzuliegen haben.

Generell ein Interessantes Projekt.

Gruß Martin

Posts: 1,788

Date of registration: Aug 28th 2005

Location: Leverkusen

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

56

Friday, August 8th 2008, 4:58pm

Wo bekommt man denn ohne lange Lieferzeiten diese Dualport-RAMs ? - So richtig schnell und peng. ;)

sh-halbleiter.de hätte offenbar eine Kleinmenge auf Lager. Preise wären noch Verhandlungssache, dürften aber die üblichen Apothekenpreise werden. Ich habe leider keine abzugeben. Mehr als fünf Euro würde ich nur zähneknirschend zahlen.

Ich frage noch mal einen Kollegen, der mir vor kurzen noch eine Quelle genannt hat, die wohl günstig welche anbieten. Ein IDT7140 würde es auch tun, aber guck noch mal ggfs ins Datenblatt - ich meine, die unterscheiden sich nur darin, daß BUSY dann ein Eingang statt einem Ausgang ist - und das wird von uns ja eh nicht benutzt.

Dann baue ich es mal nach und versuche mich an weiterer Software.

Schön! Dann bin ich schon gespannt, was uns erwartet!

Wozu braucht man denn die Flachband-Leitung ? - Iirc flackern die Signale ab ca. 10cm.

Ich habe im Kopf, daß die Länge 30 cm nicht überschreiten sollte, und das ist ja nun nicht der Fall. In den Stunden, in denen ich jetzt damit gearbeitet habe, ist jedenfalls nichts schief gegangen. Natürlich wäre es schöner, eine Platine zu machen und die so zu bemessen, daß die Anschlüsse für das Chargen-ROM und J4/J9 genau überein kommen - dann ist man aber an ein bestimmtes Board gebunden. Ich wollte meine Schaltung aber sowohl im 3032, als auch im 8296 und im weiß-J-was-mir-sonst-noch-über-den-Weg-läuft testen - daher dieses Flachbandkabel. Ich habe es extra nicht zu knapp bemessen (wie man sehen kann, ginge es ja noch kürzer), damit ich flexibel bleibe.

Posts: 1,788

Date of registration: Aug 28th 2005

Location: Leverkusen

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

57

Friday, August 8th 2008, 5:15pm

Zur Beschaffung der IDT7130 meint er: "scantec und topas verkaufen die dinger als distributoren. ob die an privat verkaufen weiss ich net"

Posts: 1,788

Date of registration: Aug 28th 2005

Location: Leverkusen

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

58

Saturday, August 9th 2008, 12:44am

Ich bin jetzt doch frustriert, weil ich das nicht so abschließen kann, wie ich das vorhatte und mir damit den Kopf frei schaffen kann für meinen Umzug - ich wollte ja heute noch den Font-Editor online stellen.

Hätte ich doch blos schon das XS-1541 fertig... habe ich aber nicht.

Ich habe ein PC64-Kabel zum Anschluß an Userport und Druckerschnittstelle und ein C2N232 zum Anschluß an die serielle Schnittstelle. Dazu bis morgen früh leihweise einen Windows-XP-PC und ständig meinen iMac.
Das PC64-Kabel wird von Win 95, Win 98, Win ME und Linux unterstützt, aber natürlich nicht von Windows XP!
Mit einer Linux-Live-CD bekomme ich das c2nload nicht übersetzt, weil irgendwelche header fehlen...
Das C2N232 mag meinen USB-Seriell-Adapter nicht, deswegen kann ich es nicht am Mac nutzen. Und am XP-PC wollte es heute Abend auch auf Teufel komm raus nicht laufen. Er sagt noch SEARCHING und dann hängt es... vor einer Woche ging es noch prima an einem Laptop mit Win 2000...

Lange Rede, kurzer Sinn: ich werde in den nächsten Wochen kaum dazu kommen, eine Lösung für die Übertragung zu finden. Wenn das CHARGEN jetzt aber jemand nachbauen möchte, ist das FONTEDIT natürlich eine große Hilfe nicht nur in der Benutzung, sondern auch beim Test der Schaltung. Es wäre schon schade, wenn jemand, der den Editor gebrauchen könnte, ihn wegen dieser blöden Umstände nicht bekommen könnte.

Sofern Interesse vorhanden ist, würde ich eine Diskette im 8050-Format per snail-mail auf die Reise schicken - mit der Bitte, eine Kopie des Editors und der Fonts hier online zu stellen. Adresse dann bitte per PN und ab geht die Post ;-)

Hat sich bei der Suche nach Lieferanten für die IDT7130 etwas ergeben?

59

Saturday, August 9th 2008, 9:03am

Nicht ärgern, gut Ding braucht Weile (altes Bienensprichwort ... ;) ).


Wenn du unbedingt willst kannst du mir gerne die 8050 Diskette senden und ich spiel sie ein wo immer du willst. Aber ich sag mal, auf ein zwei Wochen kommt es niemanden an, außer er hat Urlaub und muß unbedingt diese eine Woche nutzen.


Auf jeden Fall Danke für deine Arbeit und kümmere dich mal um deinen Umzug.


Übrigens deine Webseite gefällt mir! :)

60

Saturday, August 9th 2008, 9:49am

Quoted

Hat sich bei der Suche nach Lieferanten für die IDT7130 etwas ergeben?


Im Moment habe ich noch nichts. Ich habe nun aber etwas mehr Zeit : URLAUB :rolleyes:

Ich werde nun mal alle Online-Händler abklappern. Bei Ebay ist eine Auktion, die aber erst in ca. 8 Tagen ausläuft.

Michael
If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -