You are not logged in.

Posts: 1,789

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

61

Saturday, August 9th 2008, 2:26pm

Na, dann schönen Urlaub und viel Spaß beim Basteln!
Mein Urlaub endet jetzt leider, ich muß am Montag wieder...

Aber hier kommt der versprochende FONTEDIT...
Linux sei Dank!
for(;;) has attached the following file:
  • fontedit.zip (16.41 kB - 6 times downloaded - latest: Apr 19th 2009, 12:14am)

62

Saturday, August 9th 2008, 3:31pm

Prima, danke und danke ! :)

Ich habe mir mal den Schaltplan mal genauer angeschaut. Müsste am Schalter SW1 nicht A11 geschaltet werden ? - Programmtechnisch wäre das Schalten über eine Adresse sehr sinnvoll. Aber da braucht man wohl ein GAL für die Vordekodierung und z.B. noch einen halben 74125.

Ansonsten sieht das sehr gut aus. Wenn ich nicht rechtzeitig einen dual-port-Chip bekomme, werde ich es funktionell identisch nachbilden. Latches und altes Cache-SRAMs habe ich reichlich da. Nachher kann ich mich dann sicher wieder gut erinnern, warum ich so etwas nie wieder machen wollte. ;)

Ich werde mich mal melden, wenn es den ersten Zeichensatz geschluckt hat.

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

This post has been edited 2 times, last edit by "cbmhardware" (Aug 9th 2008, 3:44pm)


Posts: 1,789

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

63

Saturday, August 9th 2008, 3:43pm

Müsste am Schalter SW1 nicht A11 für das Banking geschaltet werden ?


ähm... Banking? Banking wovon?

Der SW1 ist eigentlich kein Schalter, sondern ein Jumper oder auch nur eine Lötbrücke. Er wird nur einmal gesetzt, je nachdem ob man die Schaltung mit einem oder zwei IDT7130 bestückt hat. Wenn man nur ein IDT7130 auf der Platine hat, soll das immer selektiert werden, wenn der benutzerdefinierte Zeichensatz aktiv ist - egal ob POKE 59468,12 für den ersten Zeichensatz oder POKE 59468,14 für den zweiten Zeichensatz erfolgte.
Hat man dagegen zwei IDT7130 installiert, verbindet der SW1 die Positionen 1 mit 2, leitet also A10=GRAPHIC an /OE des IDT7130 weiter.
Dann wird nach POKE 59468,12 das obere und nach POKE 59468,14 das untere IDT7130 selektiert.

Die A11 ist höchst optional. In den Sockel für den Zeichensatz passt ja ein 2532, also 4 KB RAM mit gesamt 4 Zeichensätzen. Ich kenne aber keine Software, die 4 Zeichensätze unterstützen würde. In vielen Systemen ist auch nur ein 2516, also nur 2 KB als Zeichensatzgenerator enthalten. Wieviel KB das ROM enthält, weiß ich derzeit nicht, aber ich denke, das sind auch nur 2 KB.

Ich hoffe, diese Ausführung hat etwas geholfen... Funktionsweise jetzt klarer? ;-)

64

Saturday, August 9th 2008, 3:55pm

Ah, ja, danke. So langsam kam es schon. Ich bin etwas verwöhnt von den Schaltungs-Symbolen aus Eagle, daher bin ich da hängen geblieben. Ich war von 2K je Zeichensatz ausgegangen.

Beim zweiten Hinsehen stimmt das mit A10 auf dem Schaltplan. :)

Das Umschalten zwischen Original-ROM und IDT7130 erfolgt dann über den 7474 ?

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

Posts: 1,789

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

65

Saturday, August 9th 2008, 7:11pm

Das Umschalten zwischen Original-ROM und IDT7130 erfolgt dann über den 7474 ?


Genau. Wenn Q low ist, ist der Standard-Zeichensatz aktiv, wenn Q high ist, der selbstdefinierte aus den IDT7130s.

Der 4-aus-2-Demultiplexer U7A teilt den Adreßbereichs des Erweiterungs-ROM-Sockel in 4 Seiten zu je 1 KB Größe auf und erzeugt low-aktive CS-Signale. In der ersten Seite liegt das erste IDT7130, an der zweiten das zweite IDT7130 und die 4 Seite ist das CS für den Controllport, über den das CHARGEN aktiviert oder deaktiviert wird.
Ein Bereich von 1024 Bytes für einen einzigen Ausgabeport zu verschwenden, tut natürlich irgendwo weh. An den Ausgang O3 des U7A kann man natürlich einen weiteren Demultiplexer hängen, der die Adressen weiter aufdröselt und damit weiteres I/O bereit stellt.

Jaja, Eagle Eagle über alles :-) Da liegt mir noch so jemand in den Ohren :-)
Also ich mag Eagle nicht und bin sehr zufrieden mit meinem KiCAD!

66

Saturday, August 9th 2008, 9:15pm

Das Prinzip ist gut. Ob ich das mit einem SRAM mache, muss ich mir aber nochmal gut überlegen. Das wären imo 1 Bustreiber und 5 Latches, die dann wie die Indianer ROM und RAM umzingeln müssen. Die Bauteile und der Platzverbrauch wären mir egal. Nur das Fädeln finde ich nicht so prickeln.

Ich habe immerhin schon mal einen steckbaren Adapter für das ROM. Das liegt in einem Sockel-Ersatz auf der Lötseite. War so weniger zum Fädeln und die Platine passt so gut rein. Habe ich mir bei einer 3fach-ROM-Platine abgeschaut.

Michael

Edit: Der Name vom Bild passt nicht. Ist natürlich für den CBM 8000. Müsste beim 3000er imo aber auch passen.
cbmhardware has attached the following image:
  • cbm3001_charram.jpg
If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -

67

Saturday, August 9th 2008, 9:18pm

Wird das nicht zu hoch? Bei meinem 8296-D hätte das nicht Platz ...

68

Saturday, August 9th 2008, 9:35pm

Beim "D" könnte das schief gehen. Müsste man vorher mal messen. Ich habe einen einfachen 8296.

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

Posts: 1,789

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

69

Saturday, August 9th 2008, 9:43pm

Auf meiner Platine ist das breite Flachbandkabel mit dem Zugentlastungsstecker das höchste Bauteil - und das passt wirklich nur um Haaresbreite - da liegt bei geschlossenen Gehäuse schon der Adapter des 6530-Tochterboards auf. Ich hätte besser einen Flachbandstecker ohne Zugentlastung genommen, der ist etwas flacher.

Im 3000er oder 8000er (ohne SK) kann ich mir schon vorstellen, daß das passt.

Mit normalem SRAM würde ich es wirklich nicht machen wollen, das ist DEUTLICH mehr zu fädeln.

Das andere Problem ist das der Synchronisierung - man kann dann ja nicht mehr gleichzeitig lesen und schreiben. Wenn Du die Seite des Zeichengenerators deaktivierst, damit die Expansion-ROM-Seite was reinschreiben kann, sind Fehldarstellungen auf dem Schirm für die Zeit des Schreibens die Folge, es sei denn, Du machst das in der Schwarzschulter des Bildes, also in der SYNC-Pause.
Wenn Du mit Tri-State-Buffern arbeitest, und die Zeichengeneratorseite hochohmig abgeklemmt wird, also aus Sicht der CRT-Logik kein Zeichensatzgenerator vorhanden ist, liest das immer high und das gibt bestimmt häßliche Flecken auf dem Schirm.
Wenn schon so, dann würde ich sicherstellen wollen, daß die Leitungen auf low liegen, wenn das deselektiert ist - dann gibts für die Zeit des Zugriffs auf das RAM eben einfach kein Bild, was bei dem Nachleuchten des Monitors evtl. gar nicht auffällt.

Aber warum wartest Du nicht einfach, bis die IDT7130 da sind? Das Ding zusammenlöten kannst Du ja in der Zwischenzeit schon.
Bist Du soooo ungeduldig? ;o)

Posts: 1,789

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

70

Saturday, August 9th 2008, 9:45pm

Beim "D" könnte das schief gehen. Müsste man vorher mal messen.


LOL - siehe mein voriges Posting!
Selbst an anderen Positionen ohne 6530-Tochterplatine gewinnt man gerade mal 1-2 cm!

71

Saturday, August 9th 2008, 10:18pm

So jetzt hab ich die fehlenden Teile auch noch bestellt.

Eine Frage eines Unwissenden: was ist der Unterschied zwischen 74LS und 74HCT? Bei Conrad sind die HCT günstiger zu kriegen, warum?

72

Saturday, August 9th 2008, 10:39pm

Quoted

Aber warum wartest Du nicht einfach, bis die IDT7130 da sind? Das Ding zusammenlöten kannst Du ja in der Zwischenzeit schon.
Bist Du soooo ungeduldig? ;o)


Ja, wenn ich schon mal dabei bin. Werde ich das mal vorbereiten und auf das fehlende Bauteil lauern. ;)

Diddl: Vielleicht werden die HCT in größerer Menge hergestellt. HCT wird höheren Takt vertragen können und weniger Strom verbrauchen. Warum kaufst Du nicht bei Reichelt ? Das dürfte erheblich günstiger sein.

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

Posts: 1,789

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

73

Saturday, August 9th 2008, 11:46pm

Eine Frage eines Unwissenden: was ist der Unterschied zwischen 74LS und 74HCT? Bei Conrad sind die HCT günstiger zu kriegen, warum?


Ich kann mich cbmhardware nur anschließen. Ein LS hat dafür einen größeren Ausgangsstrom, kann also ggfs. etwas treiben, wo ein HCT schlapp machen würde. Die LS arbeiten mit Transistoren, die HCTs mit MOS-FETs, weshalb sie auch die wunderbare Eigenschaften der (C)MOS-FETs haben, die Ausgangsspannung praktisch bis hoch an die Versorgungsspannung zu schalten.
Der Ausgang eines HCT-Chips hat tatsächlich an die 5,0V, bei LS-ICs ist er deutlich niedriger. Im Oszi sieht das dann toll aus - Signalverläufe wie gemalt ;-)


Für das CHARGEN ist es völlig wurst, ob Du LS oder HCT nimmst. Ich vermute ebenfalls, daß die HCTs günstiger sind, weil sie in größeren Mengen hergestellt werden.

Posts: 1,789

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

74

Sunday, August 10th 2008, 4:48am

Rev. C ist da: der ROM-Erweiterungssockel bleibt jetzt auf Wunsch erhalten. Lesezugriffe können wahlweise auf das ROM oder das RAM gelegt werden. Schreibzugriffe gehen immer auf das RAM bzw. den Control-Port.

Die Datenleitungen wurden im Schaltplan gedreht, damit der Font nicht mehr spiegelverkehrt dargestellt wird.

Ein Datenblatt des IDT7130 kann jetzt auch im Downloadbereich gefunden werden: http://home.germany.net/nils.eilers/chargen

mc71

Professional

Posts: 1,596

Date of registration: Nov 30th 2005

Location: ja...

  • Send private message

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

75

Sunday, August 10th 2008, 11:08am

(LOAD und SAVE in MC auf PET)



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




Lästiger Fehler im PET-KERNAL: LOAD und SAVE übernehmen IIRC nicht (wie
bei den Homecomputern) Dateiname und Geräteadresse aus den
Systemvariablen, sondern lesen direkt den BASIC-Text aus, der
normalerweise direkt hinter dem LOAD- bzw SAVE-Token steht. Will man
das aus Maschinencode heraus nutzen, muß man den BASIC-Pointer
zwischenspeichern und auf einen Pufferbereich setzen, in den man das
"filename",ga schreibt. Und nachher natürlich wieder die alte
BASIC-Adressse wiederherstellen, wenn man ins BASIC zurückkehren will.



Zum gezielten Abspeichern eines Speicherbereiches muß man -fürchte ich-
sogar die Basic-Start- und -Ende-Pointer verbiegen... aber soweit habe
ich mich mit dem Thema noch nie beschäftigt, ich wandte mich mit
Grausen als ich von dem 'halben BASIC-Befehl' in der
LOAD-KERNAL(!!!)-Routine las ;-)

76

Sunday, August 10th 2008, 12:30pm

Quoted


Lästiger Fehler im PET-KERNAL: LOAD und SAVE übernehmen IIRC nicht (wie
bei den Homecomputern) Dateiname und Geräteadresse aus den
Systemvariablen, sondern lesen direkt den BASIC-Text aus, der
normalerweise direkt hinter dem LOAD- bzw SAVE-Token steht. Will man
das aus Maschinencode heraus nutzen, muß man den BASIC-Pointer
zwischenspeichern und auf einen Pufferbereich setzen, in den man das
"filename",ga schreibt.


Ja, das ist so richtig. Ist aus einem kleinen Programm ( http://www.cbmhardware.de/cbmpet/romram.php ).


Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
;File
    BUF    =$2f00 
    FNADR  =$DA 
    FNLEN  =$D1 
    STATUS =$96
    FA     =$D4 
    SA     =$D3 

;LOAD            
load             jsr msg
                 lda #$70+12       ; set cursor to line 20 : dez. 33568 - $8320
             cr3 sta 196
                 lda #$83
             cr4 sta 197
         INIT10  LDA #<BUF   
                 STA FNADR   
                 LDA #>BUF  
                 STA FNADR+1     ;PLACE FOR FILE NAME           
                 LDA #8  
                 STA FA          ;DEVICE #8            
                 LDX #0          ;INPUT FILE NAME FROM SCREEN TO BUF  
         INIT20  JSR $FFCF  
                 CMP #$D
                 BEQ INIT30
                 STA BUF,X  
                 INX
                 BNE INIT20            
         INIT30  STX FNLEN   
                 LDA #$D
                 JSR $FFD2       ;ECHO CR            
                 LDA FNLEN 
                 BNE INIT40      ;NAME WAS NOT NULL  
                 RTS
         INIT40  lda #$00
                 sta STATUS             
                 lda #$08 
                 sta FA       ; secaddr
                 lda #$60
                 sta SA       ; priaddr
                 lda SA
                 JSR $F466           ; Open   
                 JSR $F0B6           ; Talk
                 LDA SA
                 JSR $F128
         lolo    lda #$00            ; Load to $3000 
                 STA $FB
         lohi    lda #$30
                 STA $FC 
                 JSR $F355                
bufmsg3          ldy #00
        bmsg_3a  lda buffer3,y
                 sta $8170+251,y
                 iny
                 cpy #16
                 bne bmsg_3a
                 rts
If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -

mc71

Professional

Posts: 1,596

Date of registration: Nov 30th 2005

Location: ja...

  • Send private message

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

77

Sunday, August 10th 2008, 4:08pm

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


Ein wenig Info gibts hier: http://groups.google.de/group/de.alt.fol…02a8bfc42e700a/


Kurzfassung: Es gab zwei Versionen, die eine mit einem Screen von
512*512 Punkten interlaced, die andere mi zwei umschaltbaren Screens
von 512*256 Pixel non-interlaced. Überlagerung mit der PET-Textausgabe
war nicht vorgesehen, es wurde 'hart' mittels Schalter an der Seite
umgeschaltet; dafür war eine sinnvolle BASIC-Erweiterung im ROM mit
dabei.



Angesprochen wird der Grafikprozessor EF 9365 bzw. EF 9366 wie sein
NEC-Pendant über ein paar wenige Register. Besondere Spezialität: er
kann Vektoren zeichnen und Text in verschiedenen Schriftauszeichnungen
und -Richtungen darstellen. Kursiver Text 45° schräg nach oben? Kein
Problem mit dem Ding.

Schaltung der CBM-Platine kenne ich
nicht, aber der Grafikchip kommt auch im NDR-Klein-Computer vor, und
die dort verwendete Schaltung sieht doch relativ handhabbar aus. Das
TTL-Kleinzeug sollte in eins der neumodischen CPLDs passen, die
praktischerweise kein Programmiergerät im engeren Sinne mehr brauchen.

wfking

CBM User

  • "wfking" is male

Posts: 452

Date of registration: Jul 18th 2004

Location: Hessen

  • Send private message

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

78

Sunday, August 10th 2008, 4:35pm

Dokumentation zum EF9365 und EF9366 (inklusive Registerbeschreibung) gibt es auf meiner Homepage zum Download:

http://www.wfking.de/hires.htm

(im Manual der Grafikkarte, Download ca. 10 MB)

79

Sunday, August 10th 2008, 7:40pm

Warum kaufst Du nicht bei Reichelt ? Das dürfte erheblich günstiger sein.


Nicht für Österreicher! Letztens hat der mir 24€ Porto verrechnet, das sind die reinsten Piraten! Nie mehr Reichelt!

80

Monday, August 11th 2008, 9:29am

@for()

Hast du das Problem mit dem 8296 wegen des fehlenden CS beim Schreiben schon gelöst? Du wolltest den PLA Ersatz (27512) dementsprechend patchen. Ich habe keine Idee wie das zu machen ist ...