Bravo, Jörg!
Junior Computer ][
-
-
Vielen Dank für die gelieferten ICs !!!
ich habe gerade mal angefangen... zumindest alle Sockel einzulöten.. (die Lötaugen summieren sich schon )
gefühlt war das ein ganzes C64 Replica Board -
Jetzt muss ich doch nochmal eine schlechte Nachricht überbringen.
Ich hatte jetzt versucht, eine erste Testversion des ROMs zu Installieren. Da ich das ROM im Junior dann nicht auslesen konnte, ging natürlich die große Suche los. Letztlich ist es ein Fehler, der mir bereits beim eigentlichen Junior 2 Mainboard passiert war. Ich habe voll mit einem 27C256 EPROM geplant, aber jetzt ein 28C256 EEPROM versucht einzusetzen. Da Pin 27 beim EPROM VP (Programmierspannung) ist, hatte ich den Pin auf Masse gelegt. Beim EEPROM ist dieser Pin aber /WE (Write Enable - low aktiv), weshalb dann das EEPROM keine Daten mehr ausgibt.
ABER: Ich hab mal wieder Schwein gehabt. Der Fehler lässt sich recht leicht patchen.
Es gibt zwei Möglichkeiten, wobei ich die erste vorziehen würde, auch wenn ich nun die zweite gewählt habe (wegen siehe unten).
Dreht die Platine auf die Lötseite, um den Patch zu machen.
Möglichkeit 1 : Bohrt mit einem 1 -2 mm Bohrer vorsichtig die Durchkontaktierung heraus und trennt somit die Masseverbindung .
Möglichkeit 2 : Trennt mit einem Cutter-Messer das kurze Stück Leiterbahn direkt vor dem Lötauge von Pin 27, was ich gemacht habe, da ich es nicht als gute Idee empfand, Nachts um 1Uhr zur Bohrmaschine zu greifen.
Auf alle Fälle solltet ihr dann noch nachmessen, ob Pin 27 dann absolut keine Verbindung mehr zu Masse hat (z.B. zu Pin 1) um ein Feuerwerk zu verhindern.
Danach müsst ihr nur noch den nun offenen Pin 27 mit dem Nachbarpin 28 (+5V) verbinden. Man könnte wahrscheinlich einfach eine Lötbrücke zwischen den beiden Pins setzen. Ich hab aber mal eine Drahtbrücke gesetzt, da zwischen den Pins noch eine Leiterbahn verläuft und ich verhindern wollte, dass da eventuell der Lötstopplack unter der Lötbrücke verbrutzelt.
Als Ergebnis funktioniert das Lesen des EEROMs jetzt problemlos. Falls ihr vorhabt sowieso ein normals 27C256 EPROM einzusetzen, muss der Patch natürlich nicht gemacht werden.
Ich hab jetzt in der neuen Platinenversion gleich wieder einen EEPROM Jumper mit drauf gemacht, so wie es auch auf dem Mainboard bereits der Fall ist.
So, und jetzt geht's ins Bett
Jörg
-
existiert irgendwo ein "So wird es zusammengebaut" WiKi? Ich komme bei all den vielen Nachrichten hier gar nicht mehr so mit 😆
-
Glück gehabt, ich wollte sowieso ein 27C256 aus meinem Bestand verwenden. Wie auch immer es ist eine tolles Ergebnis.
-
existiert irgendwo ein "So wird es zusammengebaut" WiKi? Ich komme bei all den vielen Nachrichten hier gar nicht mehr so mit 😆
Geht mir auch so...
Spass beiseite. Ich hab leider kein Wiki zusammengestellt, da fehlt mir einfach die Zeit dazu. Aber wenn ihr Fragen zum Aufbau haben solltet, könnt ihr euch jederzeit per PM an mich wenden, oder hier fragen, dann bekommen die Antworten alle anderen auch mit.
Gerade lag die Rechnung von FedEx im Briefkasten. Insgesammt kommen nochmal 66,95€ Einfuhrzölle, Steuern und Gebühren dazu . Ich werde mich heute Abend mal hinsetzen und ausrechnen, wie hoch dann die Kosten für jeden sind und mich dann bei euch melden.
-
Quote
Da Pin 27 beim EPROM VP (Programmierspannung) ist, hatte ich den Pin auf Masse gelegt
Die Standardspannung an Vpp beim 27c256 ist +5V laut Datenblatt. Ein Jumper scheint mir da nicht nötig.
Dietrich
-
Quote
Da Pin 27 beim EPROM VP (Programmierspannung) ist, hatte ich den Pin auf Masse gelegt
Alarm! Pin 27 ist A14. Vpp ist Pin 1.
Warum dein Patch funktioniert hat, ist mir allerdings unklar.
Dietrich
-
Alarm! Pin 27 ist A14. Vpp ist Pin 1.
Dietrich hat natürlich recht. Ich hab versehendlich statt A14 VPP geschrieben (sorry war schon spät). Da ihr bei nicht ausführen des Patches jetzt die unteren 16KB und mit dem Patch die oberen 16KB des ROMs adressiert, werde ich die beiden 16K Seiten mit dem gleichen Inhalt belegen, was ja kein Problem ist.
Warum dein Patch funktioniert hat, ist mir allerdings unklar.
Das Problem war ja der bisher immer auf Masse gelegte /WR Pin bei Einsatz des EEPROMs (A14 beim EPROM). Deshalb wurde der Datenbus immer hochohmig geschaltet. Ich hab jetzt einen Lötjumper auf die Platine gesetzt, mit dem man dann für EPROMs Pin27 auf GND und bei Einsatz eines EEPROMs auf +5V legt.
-
Hier mal das erste rudimentäre FGC (Floppy-/Graphics-Controller) BIOS und die neue dazu benötigte System BIOS Version 1.1.1.
Ich habe insgesamt ein klein wenig geschummelt und den PS/2 Tastatur Treiber noch in das System BIOS reingeschmuggelt. Das schien mir sinnvoller und ich hatte ja noch genug Platz.
Ebenfalls im System BIOS ist nun eine Routine READ_JOYSTICK an der festen Adresse $E1B9, über die der - guess what?! - Joystick Port abgefragt wird.
Ausgegeben wird hier dann im X Register ein Wert -1 bzw $FF für LINKS, 0 für CENTER und 1 für RECHTS. Im Y Register das gleiche -1 = UP, 0 = CENTER und 1 = DOWN. Der Accumulator enthält für die maximal drei unterstützen Buttons jeweils ein gesetzes Bit (Bit 0 = Button 0, Bit 1 = ...) wenn gedrückt.
Das Carry Flag gibt an, ob ein Joystick Port vorhanden ist (C = 1) oder nicht.
Die Routine DECODE_JOYSTICK an $E1BC kann genutzt werden, um beliebige Daten in diesen Joystick Code umzuwandeln. Dann kann man z.B. am User Port A oder B der IO-Karte einen zweiten Joystickp Port basteln, den Port abfragen und das Byte im Accumulator an DECODE_JOSTICK übergeben.
Die Signale müssen in folgender Reihenfolge am Port (oder in einem beliebigen Daten Byte) liegen
Bit 0 ... 6 : /UP, /DOWN, LEFT, /RIGHT, /BTN3, /BTN1, /BTN2, wobei jedes Signal Low Aktiv sein muss.
Der Joystick Port ist gemäß den üblichen Standards belegt:
Pin 1 = /UP, 2 = /DOWN, 3 = /LEFT, 4 = /RIGHT, 5 = /BTN3, 6 = /BTN1, 7 = +5V, 8 = GND, 9 = /BTN2
Auch neu im System BIOS ist nun ein auf $0000 legbarer Rücksprungpunkt aus dem Monitor. Durch diesen ist es jetzt möglich in M/OS-65 über das Kommando MON in den Hex Monitor zu springen und diesen durch den Befehl Q wieder zu verlassen und zum Betriebssystem zurückzukehren.
Auf $0000 liegt übrigens auch der Warmstart Vektor von EhBASIC, weshalb das dann da auch gehen sollte (CALL $E003 in den Monitor und Q wieder zurück).
Zu guter letzt sind natürlich auch Dietrich s Geschwindigkeitsoptimierten SD Karten Read und Write Routinen eingeflossen, die auch dazu geführt haben, im begrenzten RAM des 6532 RIOT wieder Platz zu schaffen. Dieses freie RAM habe ich gleich dankend zum Teil für andere Dinge wieder verbraten .
Vielen Dank nochmals an Dietrich für seine tolle Arbeit.
Wird der DIP Switch SW2 auf 1111 gestellt, wird der PS/2 Tastatur Treiber deaktiviert und es wird eine eventuell angeschlossene ASCII Tastatur oder - falls auch nicht vorhanden - die Terminal Tastatur stattdessen genutzt.
-
Das FGC BIOS wird von der DETECT_FGC Routine anhand der Magic Number $99,$33,$76,$5B erkannt (V9938 und GM82C765B) und dann wird über einen im FGC BIOS liegenden Einsprungpunkt die Hauptinitialisierungsroutine aufgerufen. Diese kopiert die nach einem Reset ausgewählte, oberste 1KB ROM Seite zunächst in das RAM an Adresse $4000 und springt dort hin.
Das ist nötig, da das Initialisieren der PIA den Port C der selbigen auf Ausgang und auf Bitmuster 00000000 stellt, was dann wiederum auf die ROM Seite 0 umschaltet und einer in Seite $0F gestarteten Routine den Ast unter dem Hintern absägen würde. Aber genug Details.
Ich werde das System BIOS jetzt erst einmal wieder einfrieren. Viel Platz habe ich sowieso nicht mehr (ca 360 Bytes). Es fehlt aber natürlich noch die Funktion für den Paper Tape Reader (ja, hab ich nicht vergessen!) .
Das FGC BIOS wird jetzt von mir sukzessive erweitert. Das heißt erst mal eine Initialisierung für die VPU und den Floppy-Controller Baustein. Dann folgen erst mal über M/OS ladbare Demos und dann kommen die Treiberfunktionen in das ROM. Das wird wieder etwas dauern, aber ihr seit ja alle recht geduldig mit mir.
In der Zip sind auch nochmal die Dateien zum Flashen der GALs und des ATMega328P mit drinnen. Falls ihr das schon fertig haben solltet, Brennt einfach ein 27C256 EPROM oder ein 28C256 EEPROM mit den Daten im Ordner JC2_Floppy_Graphics_Controller\BIOS ROM.
Bei Einsatz eines EEPROMs macht bitte auf alle Fälle den kleinen Hardware Patch den ich beschrieben hatte (steht auch nochmal in der Zip).
Das System BIOS muss auch auf den neuesten Stand gebracht werden und die BOOT.SYS Datei muss für das MON Kommando auch noch getauscht werden.
Phuuu, das war ne Menge Holz... soweit erst mal alles von mir. Bei Fragen wie immer melden.
Slainté
Jörg
-
Wird der DIP Switch SW2 auf 1111 gestellt, wird der PS/2 Tastatur Treiber deaktiviert und es wird eine eventuell angeschlossene ASCII Tastatur oder - falls auch nicht vorhanden - die Terminal Tastatur stattdessen genutzt.
Was passiert, wenn der SW2 gar nicht vorhanden ist ... etwa weil nur das BasisBoard benutzt wird. (?)
-
Was passiert, wenn der SW2 gar nicht vorhanden ist ... etwa weil nur das BasisBoard benutzt wird. (?)
- Wenn der FG-Controller nicht gefunden wird, oder SW2 auf 1111 steht, dann wird auch kein PS/2 Treiber installiert.
- Falls dann das IO Board angeschlossen ist, und dort das ASCII Keyboard konnektiert ist, dann wird das als Eingabetastatur verwendet.
- Ist die ASCII Tastatur nicht angeschlossen, oder das IO Board wird auch nicht detektiert, dann wird die Terminal Tastatur genutzt.
- Und wenn dann auch kein Terminal angeschlossen ist, fällt der Junior wieder in das Jahr 1980 und verwendet die Hex-Tastatur und das 7-Segment Display.
Letzteres allerdings nur, wenn der Patch zum deaktivieren der Terminal Auto Detect Funktion nicht gemacht wurde, sonst bleibt das 7-Segment Display dunkel.
Falls du nur den DIP Switch nicht eingelötet habe solltest, geht der Treiber davon aus, dass du eine US-PS/2 Tastatur angeschlossen hast (weil der Widerstandsarray das als Grundwert vorgibt).
-
Ach übrigens: Natürlich vielen Dank an euch alle für eure schnelle Bezahlung der Bauteile.
Der V9938 war jetzt inkl. MwSt. mit 21€ leider ein echt teurer Posten. Ich mache möglichst schnell eine Demo, damit ihr den Baustein dann auch testen könnt.
-
Hallo Jörg...
nicht dass du denkst,.. wir wollen alle nicht "mit-spielen"
bei mir geht es auch langsam weiter... bis auf PS/2 Adapter habe ich alles aufgelötet.
bei den ICs fehlt mir noch der 74LS126 (der war wahrscheinlich damals bei Reichelt nicht direkt lieferbar ?)..
den fehlenden 74LS521 habe ich nun durch einen 74F521 bestellt (sollte bald ankommen).
in der Zwischenzeit kann ich dann ja mal mit GAL und ATMEGA&Co "kämpfen".. da tue ich mich erwartungsgemäß
immer recht schwer
als ROM habe ich ein 28C256 gekauft... (d.h. hier muss ich den "hack" machen.. da ein "EEPROM" und die Datei ist die FGC_BIOS_32K.BIN denke ich...
beim U3+U4 habe ich verstanden.. dass es NUR beim U4 noch Änderungen gab,.. U3 wurde bisher nie geändert ?
(da muss ich wirklich bei den Fusel aufpassen.. (alleine mit AN/AUS ?? und 0/1 ??)
dann kommt aber der ATMega328P... muss der mit dieser scheixxe China Soft ? programmiert werden,
oder geht das auch mit dem TTL866A ?? (ohne... dann auch wieder viele Fuses ?)
Schönen Sonntag noch..
VG MIcha -
UPDATE
man muss einfach nur ein paar Beiträge richtig lesen.. da hatte Jörg ja auch #1950 beschrieben, wie es mit ATMEGA richtig geht...
ich gehe davon aus,.. dass ich nun U3/U4 und AT-MEGA richtig geflasht habe..
auf dem 28C256 scheint ja nicht soooo viel, drauf zu sein.. nur bei ca. $3000 steht einiges (richtig so ?)
die beiden letzten fehlenden ICs sind bestellt..PS: noch eine DAU Frage -> welches ROM muss der Junior denn selbst so haben... ich habe da ja nicht mehr "Upgedated".. denke ich (damals )
-
Bei mir ist es die JC2 8K Version 1.1.1 ROM.BIN im Ordner System BIOS aus dem Zipfile von Jörg etwas weiter oben. Auf meinem Junior Mainboard befindet sich ein 28C64. Ich denke, Jörg meint dieses E(E)prom, weil der Dateiname mit den alten Monitor-ROM-Files übereinstimmt. Ich habe es aber auch noch nicht getestet.
-
Glückwunsch zu eurem Fortschritt. Da kann ich nur neidisch werden. Ich hänge noch bei der Beschaffung einiger Teile fest.
-
Bei mir ist es die JC2 8K Version 1.1.1 ROM.BIN im Ordner System BIOS aus dem Zipfile von Jörg etwas weiter oben. Auf meinem Junior Mainboard befindet sich ein 28C64.
ich hole das eigentliche JUNIOR Gerät heute mal vor..
ich weiß gerade nicht, was ich für ein PROM verbaut habe...Bei mir fehlt aktuell nur noch der PS2 Stecker-Anschluss, hat hierzu noch jemand einen Tip, bzw. kann
mir bitte einen verkaufen. Ich möchte nicht x-Wochen bei Ali warten...
ich suche auch mal parallel in der Bucht.
Schönen Sonntag..
-
Ich habe für die PS2 Buchse den schnellsten Weg gewählt... kommt morgen
wem es beim 74F521 und PS2 Buchse mangelt,. kann sich bei mir melden... -
und damit ich für diese 40cent Floppy Stecker/Buchse nicht wieder den China-Express nutzen muss...
hatte ich doch noch einen defektes 3,5" Floppy (hatte ich mal leider -5V betrieben und intern ist einiges abgebrannt.)
so kommen doch noch Teile zum Einsatz -> mal eben ausgelötet, unten etwas Plastik abgeschnitten
Pinne von 90grad auf gerade gebogen .. (müssen eh etwas abgeschnitten werden)
und schaut ganz passabel aus
ich musste die Buchse dann seitlich aber auch noch Einkürzen, damit Sie neben den Floppy-Datenstecker passt..
2ee vielleicht etwas knapp designed ?!
ich hoffe diese Buchse ist jetzt auch dir richtige
schaut nun so aus:
-
Hallo Jörg, gibt es vieleicht noch eine neue IO Platine? oder die gerber dafür?
Das gefummel RE: Junior Computer ][ bekomme ich nicht zum laufen.
Ich hätte auch wenn möglich eine Floppy Platine.
Danke
juergenmeyer
-
Hallo Jörg, gibt es vieleicht noch eine neue IO Platine? oder die gerber dafür?
Das gefummel RE: Junior Computer ][ bekomme ich nicht zum laufen.
Ich hätte auch wenn möglich eine Floppy Platine.
oha, ja das Tastatursteckerproblem. Da war doch was.
Ich hab noch eine neue IO-Platine, bei der noch der kleine Patch wegen der vertauschen Datenleitungen notwendig ist. Wie bei allen anderen mache ich dir dann den Patch schon fertig, so dass du das Gefummel nicht mitmachen musst und schick dir die Platine dann diese Woche noch zu. Ich melde mich da dann per PM bei dir.
Eine Floppy-/Graphics-Controller Platine habe ich leider nicht mehr. Ich stelle aber diese Woche auch nochmal alles Notwendige, inkl. Gerber Dateien zusammen.
-
Danke
-
wäre dass mit der PS2 Tastatur nicht automatisch gelöst
ich musste gerade erst nachdenken, welche PS2 Farbe per Definition eine Tastatur hat
ich hätte erst auf hell grün gewettet..
puh.. aber doch richtig..
-
Hallo 286Micha
Natürlich wäre dies mit dem PS/2 anschluß gelöst, aber ich habe mir das ASCII Keyboard zusammen gebaut und möchte dies in Betrieb sehen.
mfg
-
Natürlich wäre dies mit dem PS/2 anschluß gelöst, aber ich habe mir das ASCII Keyboard zusammen gebaut und möchte dies in Betrieb sehen.
ich hatte mir deine 14 Beiträge durch gelesen... und kann da keinen besonderen Hinweis draus lesen..
am Ende stand da auch noch... "nach Wechsel" der CPU funktioniert es ?!!
-
Hallo
Ein Hinweis auf das Keyboard gibt es von mir nicht. Der CPU Wechsel betraf den Junior II selbst.
-
Ich bin nun endlich dazu gekommen, die neue BIOS-Version 1.1.1 zu testen, noch ohne das Floppy/Graphics-Board. Da fehlt mir noch der LS126, der von Reichelt versehentlich als LS136 geliefert wurde. Toller Kundenservice übrigends, Ersatz wurde prompt abgeschickt und kommt morgen.
Ergebnis: läuft
Ich kann nun auch bestätigen, dass man am I2C-Port statt der DS1307 ein DS3231-Board betreiben kann. Jörgs Erkennungsroutine 'missbraucht' zwar das Register $08 (= Alarm2 Miutenregister) als Erkennung, ob der Chip initialisiert wurde, aber solange man Alarm2 nicht nutzt, funktioniert das. Ich liebe die DS3231-Boards, weil der Chip temperaturkompensiert ist und sehr viel genauer läuft als der DS1307 und das Board außerdem noch ein 4 kB EEPROM mitbringt, in dem man alles mögliche ablegen kann,
2ee Toller Job Jörg
Dietrich
-
-
Gerne. Ich verwende den seitlichen I2C-Anschloß auf der IO-Karte und ein einfaches Patchkabel. 2ee hat die Anschlüsse schon perfekt angeordnet. Wichtig ist natürlich, den DS1307 nicht an I2C-Bus zu haben, da beide Bausteine die gleiche Adresse benutzen und die lässt sich leider nicht ändern.
Dietrich