Ich hab meinen CPC 464 mal wieder rausgekramt und irgendwie hab ich das Bedürfniss im etwas mehr Arbeitsspeicher zu geben (ich weiß, bringt nicht wirklich was, ist auch nur just for fun).
Ich erinnere mich dunkel, dass in einer Zeitschrift mal so ein Artikel drin war, aber ich glaube, da war es eine Änderung auf der Hauptplatine. An der wollte ich nicht rumbrezeln.
In der Bucht hab ich schon nach was von Dobbertin oder DK'tronics geguckt, aber da war nichts. Mal wieder selber etwas für den CPC zu bauen, reizt mich auch mehr.
Weiß jemand wo ich ein Platinenlayout, Bestückungsliste und Bestückungsplan her bekomme? Bei Tante Google wurde ich nicht fündig.
Auf Inicron.de gibt's den Bauplan für 512 KB SRAM Akku-gepuffert. Ist fein wenn man RDOS oder die RAM Disk unter CP/M nutzen will.
Uups... EDIT: Die Inicron läuft nur am 6128
TotO in der cpcwiki.eu (Forum) hat auch eine 512 KB Erweiterung entwickelt. Modernere Bauteile, aber keine Akku-Pufferung.
Idee: Versuche die dk'tronics mit 64 KB zu bekommen, die kann man einfach (Austausch der RAM chips) auf 256 KB aufblasen ;-)
EDIT: Für den 464/664 ist die Speichererweiterung von Revaldhino die "am kompatibelste", das sich den RAM Modus &C3 voll unterstützt. Damit läuft sogar FutureOS und CP/M Plus.
eine 444k RamDisc hat Buebchen entwickelt und ich habe sie erfolgreich getestet. schau mal auf seine Homepage buebchen.jimdo.com.
an der 64k Speichererweiterung sind wir dran.
bekomme heut eine DK'Tronics 64MB für CPC464, daraus werde ich einen Schaltplan erstellen.
64 MB, ja da wär ein Schaltplan super :flehan:
Läuft die RAM disc von Bübchen auch ohne den Bus-Puffer? Nur mal so gefragt?
Super, vielen Dank für die Anregungen und Tips.
Vielleicht ist eine Dobbertin oder DK'tronics 64 Kb Erweiterung die schnellste und einfachste Lösung.
Ich bevorzuge ja eh eher den 6128er ;)
und ich den KC Compact :D
ja die Ram Disc geht auch ohne Buskarte, zum Test habe ich diewse ungetrieben benutzt, da der Floppy Controller vom CPC464 noch nicht über die Richtungssteuerung funktioniert.
so die 64k DK'Tronics ist heute gekommen. MemCheck zeigt 256k an. Ramtest 48k. ich teste mal mit der 256k Bank Switching Software.
die Leiterplatte hat nur 2 Speicher ICs. im Prinzip wie die SMD Version, nur eben mit normalen Schaltkreisen.
bei CPCWiki ist diese Leiterplatte nicht abgebildet. werde morgen mal anfangen den Schaltplan zu erstellen.
den 16V8 werde ich mal auslesen, ist zum Glück gesockelt.
ein Bild habe ich doch bei CPCwiki gefunden. es ist eine Zwischenversion und hat 2x TMS4464, also doch nur eine 64k Erweiterung.
die Frage wäre wie diese auf 256k umgerüstet wird.. der LS74 und LS153 ist schon vorhanden. eventuell muss man nur die 2 Chips austauschen. gibts da andere Typen?
Ja, das geht sicher problemlos. Frag mal den Bryce, der weiß damit beischeid, hat das auch schon mal gemacht. :)
Ich hab ihn mal gefragt ob er hier reingucken kann, wenn er Zeit hat...
Quote from: Rennert on 24. January 2014, 23:32:59
so die 64k DK'Tronics ist heute gekommen. MemCheck zeigt 256k an. Ramtest 48k.
Soso, zweimal daneben also... was sagt denn meine Software dazu? Lass die doch mal testen... hier gleich noch mal als DSK im Anhang... (hab grad noch zwei kleine Updates eingebaut).
Das RAM wird nun in KB angezeigt
die Ram Erweiterung wird nun korrekt angezeigt. es war irgendwie ein Pin, der in meinem Adapter keinen Kontakt hatte. jetzt ist auch der DK'Tronic RamTest fehlerfrei. er hatte zwar die Bänke angezeigt, aber es stand da "Ram Test Fail".
Den GAL konnte ich zwar auslesen, aber steht nur Mist drin. ist sicher geschützt.
die Schaltung habe ich fertig, nur noch schön zeichnen und nochmal überprüfen.
falls jemand den GAL Inhalt hat? glaube aber eher kaum. ansonsten wird es schwierg aus der Schaltung was nachzubauen.
@TFM: dein Prog teste ich trotzdem mal aus :)
@TFM: dein neues Prog ist übersichtlicher und haut auch hin. selbst MemCheck zeigt jetzt 64k an.
der Umbau auf 256k mit dieser Revision ist leider nicht mehr so einfach. da ja nur 2x4464(64kx4) verwendet wurden. die passenden 44256 haben mehr Pins und auch die Belegung ist durcheinander. wäre sicher auch möglich aber die Platine ist mir zu schade zum Ändern :P
Da hast auch wieder recht, ist ja doch eine besondere Version der RAM Erweiterung. Wenn Du die Augen offen hältst, dann findest Du schon noch eine andere wenn's man mehr sein muss.
TotO (Wiki Forum) ist glaube ich gerade dabei eine 512er zu machen... hab die Details aber grad nicht im Kopf.
Freut mich das das Proggy tut. :)
Hat zwar nicht ganz was mit dem Thread hier zu tun, aber ich bin grad dabei, eine kleine Demo zu programmieren, welche vorher das RAM prüft.
Gefunden wird:
64k,
128k,
256k ram expansion,
256k silicon disk,
512k ram expansion
Vielleicht kann es ja jemand brauchen?
10 DIM bank(33)
20 o=0:RESTORE 110:FOR t=0 TO 32:READ a:bank(t)=a:NEXT
30 FOR t=32 TO 1 STEP -1:OUT &7C00,bank(t):POKE &4000,t:NEXT
40 FOR t=1 TO 32:OUT &7C00,bank(t):k=PEEK(&4000):IF k<>t THEN o=o+t
50 NEXT
60 IF o=0 THEN PRINT "64k + 512k Expansion found... Superb!":ram=512
70 IF o=392 THEN PRINT "64k + 256k Expansion found... Could be better...":ram=256 ELSE IF o=518 THEN PRINT"128k found... Nothing special here.":ram=128
80 IF o=135 THEN PRINT "64k + 256k Silicon Disk found... Could be better...":ram=2560 ELSE IF o=527 THEN PRINT "Just 64k found. Please upgrade your CPC":ram=64
90 '
100 ' ram banks
110 DATA &c0,&c4,&c5,&c6,&c7,&cc,&cd,&ce,&cf
120 DATA &d4,&d5,&d6,&d7,&dc,&dd,&de,&df
130 DATA &e4,&e5,&e6,&e7,&ec,&ed,&ee,&ef
140 DATA &f4,&f5,&f6,&f7,&fc,&fd,&fe,&ff
Naja, meins ist präziser, aber Deines ist viel lustiger :zunge0020:
Quote from: Devilmarkus on 26. January 2014, 23:39:45
Hat zwar nicht ganz was mit dem Thread hier zu tun, aber ich bin grad dabei, eine kleine Demo zu programmieren, welche vorher das RAM prüft.
Gefunden wird:
64k,
128k,
256k ram expansion,
256k silicon disk,
512k ram expansion
Vielleicht kann es ja jemand brauchen?
10 DIM bank(33)
20 o=0:RESTORE 110:FOR t=0 TO 32:READ a:bank(t)=a:NEXT
30 FOR t=32 TO 1 STEP -1:OUT &7C00,bank(t):POKE &4000,t:NEXT
40 FOR t=1 TO 32:OUT &7C00,bank(t):k=PEEK(&4000):IF k<>t THEN o=o+t
50 NEXT
60 IF o=0 THEN PRINT "64k + 512k Expansion found... Superb!":ram=512
70 IF o=392 THEN PRINT "64k + 256k Expansion found... Could be better...":ram=256 ELSE IF o=518 THEN PRINT"128k found... Nothing special here.":ram=128
80 IF o=135 THEN PRINT "64k + 256k Silicon Disk found... Could be better...":ram=2560 ELSE IF o=527 THEN PRINT "Just 64k found. Please upgrade your CPC":ram=64
90 '
100 ' ram banks
110 DATA &c0,&c4,&c5,&c6, :zunge0020:&c7,&cc,&cd,&ce,&cf
120 DATA &d4,&d5,&d6,&d7,&dc,&dd,&de,&df
130 DATA &e4,&e5,&e6,&e7,&ec,&ed,&ee,&ef
140 DATA &f4,&f5,&f6,&f7,&fc,&fd,&fe,&ff
kannst du das als Datei uppen? mag nicht abtippen :zunge0020:
Quote from: Rennert on 27. January 2014, 06:11:42
kannst du das als Datei uppen? mag nicht abtippen :zunge0020:
Faulsack... Tzzzzzzz ;)
das Programm zeigt nach dem Start nix an, bei List sehe ich das Programm, aber beim Start kommt nur wieder OK. eventuell läuft es nicht richtig auf dem KC Compact. die 64MB Erweiterung funktioniert. die anderen Tests sind alle i.o.
Das ist klar, in den Zeilen wird die Variable o abgefragt, und bei Dir hat die den Wert 64. Das Programm gibt aber nur Text aus für o = 0, 135, 392. Bei 64 KB Extra-RAM passiert als nichts.
Quote from: TFM on 28. January 2014, 20:49:20
Das ist klar, in den Zeilen wird die Variable o abgefragt, und bei Dir hat die den Wert 64. Das Programm gibt aber nur Text aus für o = 0, 135, 392. Bei 64 KB Extra-RAM passiert als nichts.
stimmt, jetzt wo ich mir das Listing mal durchgeschaut habe :)
@TFM
Hallo!
RAM-Disk 444KB-
Die RAM-Disk hat einen Jumper, der bei direktem Betrieb am ungepufferten BUS nicht gesteckt sein darf.
Dann läuft die Karte auch am ungepufferten BUS.
Sobald aber noch andere Erweiterungen angeschlossen sind wird es oft kritisch. Das ist bei den CPC6128 nicht immer der Fall, beim KC-Compakt aber bei jedem zweiten der dann nichts mehr geht.
Besonders die Funktion des Floppy-Controllers ist nicht mehr sicher da die 64 KB RAM-Erweiterung des Original-Floppy-Controllers oft ihren Dienst verweigert. Sehr warscheinlich hängt deshalb die Nachentwicklung des Floppy-Controllers für den KCC bei Jörg Lange. Silvio (Rennert) und ich sind dabei einen 64 KB Zusatz RAM zu entwickeln der das Problem löst. Dann mache ich das Layout für den Floppy-Controller für vier Laufwerke fertig, der am KCC und am CPC eingesetzt werden kann und keine Spezial Bauteile benötigt.
so hier der Schaltplan für die 64k Erweiterung, entnommen von meinem Modul. ist eine Zwischenrevision mit nur 2x 4464 DRams.
Diese Woche bekomme ich 44256 und dann werde ich mal das Modul auf 256k umrüsten. Laut Umbauanleitung und Vergleich mit der alten Revision(8x 4164) muss hier nur A8 des Rams an den freien Pin4 des oberen LS257 angeschlossen werden.
Aber Achtung: die Pinbelegung der 44256 ist bissel durcheinander, sodaß ich einen Adapter bastle um nicht das Modul zu modifizieren.
Quote from: TFM on 26. January 2014, 00:30:47
...
Quote from: Rennert on 24. January 2014, 23:32:59
so die 64k DK'Tronics ist heute gekommen. MemCheck zeigt 256k an. Ramtest 48k.
Soso, zweimal daneben also... was sagt denn meine Software dazu? Lass die doch mal testen... hier gleich noch mal als DSK im Anhang... (hab grad noch zwei kleine Updates eingebaut).
Das RAM wird nun in KB angezeigt
Super Testprogramm. Habe es mal in die Sammlung aufgenommen, weil CPCBasic jetzt auch RAM-Banking unterstützt:
https://benchmarko.github.io/CPCBasic/cpcbasic.html?database=apps&example=test/eramtst
Und noch einen verkürzten RAM-Test geschrieben, der auch den Floppy-Controller wieder freimacht (sonst geht z.B. CAT nicht mehr):
10 mode 2
30 ?"Standard RAM bank:":?hex$(&7fc0)
40 mem=64
50 ?"Additional RAM banks found:"
60 wrt=1:gosub 200
65 out &7fc0,&c0:poke &4000,&c0:poke &4001,&7f
70 wrt=0:gosub 200
80 ?:?"Total:";str$(mem);" KB RAM found"
90 goto 300
100 '
200 for hi=&78 to &7f
210 for lo=&c4 to &ff
220 if (lo and 4)=0 then 250
225 out hi*256+lo,lo
230 if wrt then poke &4000,lo:poke &4001,hi:goto 245
240 if peek(&4000)=lo and peek(&4001)=hi then mem=mem+16:?hex$(hi*256+lo);" ";
245 out hi*256+&c0,&c0
250 next lo,hi
270 return
280 '
300 IF INP(&FB7E)<>255 then WHILE (INP(&FB7E) AND &F0)<>&80:i=INP(&FB7F):WEND:' throw away FDC bytes
310 end
https://benchmarko.github.io/CPCBasic/cpcbasic.html?example=test/ramtest
Sehr schön - sehr schnell! :)