Mein Nascom Blog
und was damit zu tun hat


(English translation by Google)

2018-11-13

Original Nascom Tastatur

Nach fast genau 2 Jahren habe ich vom damaligen Verkäufer der Boards eine Original Nascom Tastatur abkaufen können.
Nascom Keyboard

2017-10-10

Classic Computing 2017 in Berlin

Auf der CC2017 habe ich einige von meiner Einplatinencomputern ausgestellt, u.a. die beiden Nascoms.
CC2017

2017-09-11

Noch 'ne Tastatur - diesmal für den Nascom-2

Von Stephan habe ich eine alte Siemens-Tastatur bekommen.
Danach hab ich die Tasten erstmal ausgelötet und das Layout erstellt.
Als die Platine dann da war, waren alle Bauteile zusammen.
Nach der Bestückung habe ich erstmal einen einfachen Funktionstest gemacht.
Bauteile  Bauteile
Die komplet bestückte Tastatur ohne und mit Tastenkappen.

2017-07-23

Viel Neues am Wochenende

Die Tastatur

Wie beim AIM65 musste eine Tastatur her und wie beim AIM65 ist das Problem das Layout. Also habe ich wieder eine Tastatur aus meinen Video Genies genommen und neu aufzubauen. Pünktlich zum Wochenende kam die Platine. Also los geht's!
Nascom Tastatur  Nascom Tastatur  Nascom Tastatur
Erstmal habe ich nur die Elektronik bestückt und musste jetzt erstmal testen, ob diese funktioniert wie gewünscht. Nach dem erfolgreichen Test habe ich die Tasten bestückt.
Und hier die komplette Tastatur.
Ich habe die Tastatur für beide Nascom ausgelegt. Da für eine Nascom-2 Tastatur einige Tasten fehlen (2. Shift, Ctrl, Grafic, [, ], Cursortasten), habe ich erstmal eine Nascom-1 Tastatur bestückt.
Die Original-Nascom Tastaturen haben eine große, etwas abgesetzte Reset-Taste. Der Nascom-2 hat auch einen NMI-Eingang von der Tastatur. Und aus 2 Tasten habe ich noch eine 3. hinzugefügt. Ein kleine Hommage auf eine unsägliche Tastenkombination.
Erstmal bleibt die Tastur beim Nascom-1.

8k RAM und die LKBs

Die LKBs sind Blöcke oberhab der RAMs, auf denen jetzt die schönen bunten Jumper gesteckt sind. Hiermit kann man entweder RAMs oder EPROMs in dem jeweiligen Sockel bestücken.
Das gemeine an den LKBs ist das Rastermaß! Statt wie üblich 0,1 Zoll (= 100 mil) sind es hier geschätzte 125 und 150 mil. Ich habe jeweils 3 Pins genommen, die äusseren aufgebogen und angelötet. Und dann den daneben und immer geguckt, das die Pins schön ausgerichtet sind. Deshalb hat es auch etwas länger gedauert.
Der Erfolg: Unter BASIC hab ich jetzt 7875 Bytes frei! Ein Wahnsinn!
Und bevor jemand meint, ich habe die Farbreihenfolge einer bekannten Versteigerungsplattform abgeguckt, nein, es sind die Farben der Flagge von Mauritius.

Nascom und das Videotiming, Teil 3

Mal wieder das Video-Timing: Durch Zufall bin ich auf einen Hinweis gestossen, bei Bildfehlern am IC18 etwas umzubauen.
Beim Nascom-1 hab ich ja schon ausführlich gemessen, beim Nascom-2 das ähnliche Problem schnell gelöst. Und beim Nascom-1 war es eigentlich das gleiche Problem, das ich beim Nascom-2 gelöst habe. Aber manchmal sieht man den Wald vor lauter Bäumen nicht!
Links das Original-Timing, rechts das modifizierte:
Oszilloskop  Video Timing
In der Original-Schaltung wird dem oberen Impuls ein Latch getaktet, das neue Datum (Mitte) ändert die Daten am Schieberegister, welches mit dem unteren Puls die Daten übernimmt.
Die einfache Lösung: Wir lassen oberen Impuls weg und benutzen nur den unteren. D.h. erst wenn Daten ins Schieberegister übernommen sind, können nach der steigenden Flanke sich die Daten aendern. Fertig!
Hätte ich nach dem Nascom-2 auch selber drauf kommen können.
Und endlich kann ich die unsäglichen +12V und -5V weglassen.
Konkret für Nachahmer: IC18, Pin 5 trennen, Pin 5 und 12 verbinden. Fertig!
(Quelle: www.nascomhomepage.com/pdf/nasproginfo.pdf, S. 55)

2017-05-31

Inbetriebnahme NASCOM BASIC

Jetzt wollte ich das BASIC ans laufen bringen.
Da ich das spezielle ROM nicht habe, habe ich einen Adapter gebaut, der ein 8kByte EEPROM auf die entsprechende Belegung umsetzt. Das EEPROM programmiert, aber es geht nicht. Wahrscheinlich braucht das BASIC etwas mehr RAM als das Standard Work-RAM des NASCOM. Aber wieviel und an welcher Adresse? In der Doku habe ich nichts gefunden, aber zum Glück findet man im Internet auch die Sourcen der alten Software. Und hier habe ich auch schnell Infos gefunden.
Also mehr RAM! Dazu musste ich mich nochmal mit dem Memory-Dekoder beschäftigen und die ominösen LKBs (Linkblocks) bestücken, die es nicht gibt und ein perverses Rastermaß haben. Aber nach diesen und ein paar kleineren Unwegbarkeiten hat es dann noch geklappt.

Inbetriebnahme NAS-SYS

Nachdem die Testprogramme laufen, sollte mal ein Monitorprogramm dran sein. Der startet auch, aber ohne Tastatur kann ich keine Eingabe machen. Also wieder die V24 anwerfen.
Mit den normalen Jumper-Einstellungen krieg ich die V24 nicht ans laufen. Der Sendetakt ist ok, aber der Empfangstakt stimmt nicht. Bei diesem ist eine PLL mit im Spiel um die ich mich jetzt nicht kümmern will. Stattdessen kann ich mit einer kleinen Modifikation den nicht benötigten 1760 Hz Takt umbauen und als Sende- und Empfangstakt benutzten.
Leider wird immer noch kein Zeichen empfangen. Mit dem Oszi war erkennbar, das der Status abgefragt wird, aber kein CharacterReceived angezeigt wird. Zum Glück habe ich mir auch von der UART ein paar Reserveexemplare mehr bestellt. UART ausgetauscht und ...
Kaum macht man es richtig, schon bekommt man die richtige Ausgabe.
Danach habe ich erstmal die restliche UARTs durchgetestet, auch beim Senden. Eine von 5 ist defekt und die baue ich ein und befasse mich mit unnötiger Fehlersuche. Aber nur ein gefundener Fehler ist ein guter Fehler.

2017-05-23

Nascom und das Videotiming, Teil 2

Wie beim Nascom-1 gibt es beim Nascom-2 wieder Bildstörungen. Die Schaltung sieht deutlich besser als beim Nascom-1, aber anscheinend reicht das nicht.
Nach ein paar Messungen ist das Problem erkannt: Die Adresse des Bildschirmspeichers wird hochgezählt und ein Latch übernimmt die Daten des VideoRAMs einen Takt später. Und wieder ist die Schaltung heute schneller als vor 40 Jahren.
Dafür ist die Lösung einfach: Wir benutzen für beides den gleichen Takt. Sowas nennt man synchrones Design. Und damit ist das Problem durch.

2017-05-23

Die Bustreiber

Die Bustreiber haben mir mehr Arbeit bereitet als angenommen.
Erstmal ging so gut wie nichts, war aber nicht reproduzierbar. Da das Testprogramm nur das Monitor-EEPROM und das Tastatur-Latch benutzte, waren die Bustreiber gar nicht nötig. Also erstmal raus und durch Brücken ersetzen.
Damit blinkte die LED nach dem PowerUp schon ein paar Sekunden. Wieder so ein Phänomen. Dann habe ich mehr durch Zufall das RAM entfernt (wurde ja nicht benutzt) und jetzt geht's. Warum? Der ChipSelect-Pin des RAMs war nicht mit dem Adressdekoder verbunden, weil beim entfernen des LKB (Link Block, da wo jetzt die bunten Jumper sind) ein Pad abgerissen ist. Ok, ein kurzes Stück Fädeldraht rein gelötet und das Problem war beseitigt.
Aber mit den Bustreibern lief das Testprogramm trotzdem nicht. Mit meinem GODIL habe ich mal das PROM, welches für die Bussteuerung zuständig ist, ersetzt. Aber das Verhalten war gleich, also war das PROM anscheinend nicht das Problem. Also mal wieder Oszi raus und messen:
Ansteuerung Bustreiber
(Von oben nach unten: CPU-Bustreiber, Enable und Direction; Memory-Bustreiber, Enable und Direction)
In dem Zeitraum, in dem beide Bustreiber aktiv sind (Enable = 0), ist die Richtungssteuerung auf der einen Seite auf Senden, auf der anderen auf Empfang. Also auch alles ok.
Hmm, ich habe sicherheitshalber mehr Bustreiber gekauft als benötigt. Nach dem Tauschen funktioniert das Testprogramm. Na super, aber es läuft.

2017-05-16

Erste Inbetriebnahme

In den letzten Tagen habe ich das Videoteil schon mal getestet. Am Anfang sah es gut aus. Nachdem ich das CharacterROM eingesetzt hatte, ging gar nichts mehr. Am Oszilloskop konnte man gut sehen, das 2 Signale gegeneinander gearbeitet haben. Also irgendwo ein Kurzschluss. Nach einiger Zeit konnte ich das 2. Signal finden, habe die Leitung verfolgt und zwischen der Leitung und allen Lötstellen etwas gekratzt. Der Schluss war weg.
Danach habe ich paar einfache Test"programme" laufen lassen: Millionen von NOPs, LED blinken lassen. Alles klappt. Allerdings werden die Bustreiber deutlich warm. Damit werd ich mich noch beschäftigen.

2017-05-09

Alles neu gesockelt

Endlich sind die letzten IC-Sockel gekommen. Und 1328 Lötstellen später sieht der Nascom-2 so aus.
Fertig zum bestücken und Inbetriebnahme.
Nascom-2  Nascom-2

2017-04-23

Weiter geht's am Nascom-2

Im Laufe der letzten Wochen habe ich mich immer wieder mit dem Nascom-2 beschäftigt. Da wäre z.B. die notwendigen PROMs besorgen und programmieren (lassen). Und eine Tastatur will auch gefunden werden.
Da ich seit ein paar Tagen eine Entlötstation besitze, habe ich mich entschlossen die alten IC-Sockel auszutauschen. Die Sockel sind über 35 Jahre alt und bevor ich mir ständige Kontaktprobleme einhandele, macht der Austausch weniger Arbeit.
Und so sieht das "gerupfte" Board aus.

2017-01-22

Mein MCM6575

Bei EBucht habe ich einen MCM6575 CharacterROM zu einem angenehmen Preis gefunden. Der Nascom-1 hat zwar den MCM6576, aber er Unterschied ist klein und z. Zt. uninteressant. Nach der Prüfung der Spannungsversorgung (ich brauche jetzt zusätzlich +12V und -5V) hat alles funktioniert. Also mal wieder das Oszi raus und messen.
Timing MCM6575 Timing MCM6575
Auf dem linken Oszillogramm sieht man das zeitliche Verhalten des MCM6575 in gleicher Darstellung wie bei den letzten Messungen. Da liegen Welten dazwischen. Deshalb hab ich das nochmal im zetlichen Überblick aufgenommen (rechtes Bild).

2017-01-22

Ein Tastatur-Interface

Da ich (leider) keine Nascom-1 Tastatur habe und auch keine nachbauen möchte, hatte ich schon länger über eine FPGA-Lösung nachgedacht. Kurzfristig habe ich mich für einen 2. GODIL entschieden.
Die Tastatur ist über eine V24 realisiert. Später wird dies wohl eine normale PC-Tastatur, aber auch eine andere Lösung ist möglich. Da ich ausser den Schaltplänen keine Dokumentation zur Tastatur habe, habe ich den ersten Versuch etwas einfach aufgebaut. Der Umsetzer funktioniert schon ganz gut für den ersten Versuch, aber ein wenig hackt es noch. Ich denke die "Shift-Taste" muß besser umgesetzt werden.
Für den GODIL mußte ich noch einen "Breiten"-Adapter bauen, um den 600mil GODIL auf den 300mil Sockel stecken zukönnen. Der Adapter hat gleichzeitig die Höhe für den GODIL erreicht.

2017-01-13

Inbetriebnahme

In Betrieb war der Rechner ja schon, aber eben "nur" testweise. Jetzt muss endlich mal ein Monitorprogramm ran. Auf The Nascom Home Page habe ich ein paar Monitore gefunden. Da nur 2kByte EPROM auf den Nascom-1 Platz finden, muß ich klein anfangen. Ich habe mich für den Nasbug T2 entschieden, weil hier anscheinend der Source vorliegt. Kann ja nützlich sein.
Im Source hab ich gesehen, das Zeicheneingaben über Tastatur und serieller Schnittstelle gleich behandelt werden. Da ich keine Tastatur für den Nascom-1 habe, muß also die V24 herhalten. Kabel gebastelt, + und -12V angeschlossen, aber welche Bitrate? Beim Lesen (teilweise war es eher überfliegen) hab ich etwas von "Baudot 5 bit code" und "teleprinter" gelesen. Das kann ja bitte nicht wahr sein. Aber: Probieren geht über studieren. Also erstmal anfangen, ärgern können wir uns später immer noch.
Egal welche Bitrate ich benutzt habe, manchmal erschienen ein paar Zeichen auf dem Bildschirm, aber irgendwie war kein System drin. Also wieder Hardware, Datasheets des UART suchen und lesen. Hier ist klar erkennbar, das der Takt das 16-fache der Bitrate ist. Der Taktgeber, ein NE555, soll lt. Schaltplan und Dokumentation auf 1760Hz laufen. Geteilt durch 16 sind 110. Na super, vollkommen typische Bitrate. Was können die USB-V24 Bausteine überhaupt? Wieder Doku suchen und lesen. Nein, mindestens 300bits/s. Ja nee, is klar!
Die UART IM6402 soll 8MHz Taktfrequenz können. Also mal eben schnell vom Taktgenerator die 2MHz abgenommen und an die UART gelegt. Bitrate am PC auf 125kbit/s eingestellt und .... FUNKTIONIERT!
Kurz mal schauen was der Monitor an Befehlen kennt, ein bischen tippen und hacken, schon hat man eine anständige Ausgabe:
Positiv überrascht war ich von der UART IM6402 von 1980 (!), die ich über einen Händler bei Ebay bezogen habe. Hier hatte ich mehr Probleme vermutet. Ansonsten sind nur die SRAMs 2102A-6 alt, aber auch die schlagen sich wacker.
Historisches zu den Monitor-Programmen habe ich hier gefunden.

2017-01-13

Ich hätte da gern mal ein Problem...

Mit meinem MCM657x-Emulator habe ich schon öfter Bildfehler gesehen. Die Ursache war mir nicht ganz klar, ich dachte mehr an das Video-RAM. Ich hatte mehrere Testprogramme geschrieben um das Problem einzugrenzen. Manchmal waren die Störungen ganz weg. Dabei fiel mir auf, das bei mir das erste angezeigte Zeichen in Adresse 80Bh war, die Doku gibt aber als erste Speicherstelle 80Ah an. Seltsam!
Dann habe ich ein neues Testprogramm geschrieben und jetzt ließ sich der Fehler nicht mehr ignorieren.
SollIst
Bildfehler Bildfehler
Also Oszilloskop raus und messen. Hilft ja nichts.
Nach ein paar Messungen war klar, das Video-RAM ist es nicht. Hinter den SRAMs ist noch ein 74LS273 mit D-Flipflops, also das Timing ist sicher.
Hinter dem 'LS273 kommt das CharacterROM, also mein MCM657x-Emulator, und danach das Schieberegister zum Videoausgang. Und genau der Emulator war das Problem: Das EEPROM ist zu schnell!
Auf dem Oszillogramm sieht man es gut:
Oszilloskop
(Das Bild ist zusammen kopiert, aber zeitlich korrekt.) Oben der Clock, der die Adresse für das CharacterROM liefert. Mitte, die Daten aus dem CharacterROM. Unten das LOAD-Signal für das Schieberegisters.
Die Daten aus dem MCM657x-Emulator wechselten am Ende des LOAD-Signal des Schieberegisters, d.h. genau wenn die Daten übernommen werden, wackelt alles. Das gibt undefinierbaren Datenmüll!
Wenn ich nur mit dem Tastkopf an dem LOAD-Eingang des Schieberegisters gemessen habe, war das Bild schon viel besser. Testweise habe ich das LOAD-Signal etwas verlängert (kommt aus einem Monoflop) und schwups, das Bild war fehlerfrei. Allerdings ist das nicht die Lösung, weil ein anderes EEPROM eine andere Zugriffszeit haben wird und dann wieder in das gleiche Problem laufen wird. (Workaround siehe hier.)
Also muss ich das EEPROM langsamer machen. Aber wie?
Bei der Überlegerei ist mir auch klar geworden warum bei mir das erste Zeichen bei Adresse 80Bh liegt. Durch die Verzögerung des alten CharacterROMs lagen die Daten beim nächsten Takt vor, d.h. einen Takt Verzögerung.
Aber wie kriege ich dieses Delay im EEPROM hin? Ich habe noch keine Lösung.
Aus einem anderen Projekt habe ich ein GODIL FPGA-Modul, das man als IC-Ersatz benutzen kann. Und mit dem FPGA kann ich viel Verzögerung generieren. Ich habe die EEPROM-Daten in VHDL konvertiert, ein bischen IO-Pinning drum herum, ein paar Flipflops als Delay und fertig. So sieht jetzt die Nascom-1 Platine damit aus. Für den Alltagsgebrauch etwas klobig, aber erstmal als Workaround hat es seinen Sinn.
Wie heißt es so schön: Nur ein gefundener Fehler ist ein guter Fehler! In diesem Sinne, weiter geht's.

2017-01-11

Fertig aufgebaut

Es kann losgehen!

2708 Adapter

Der Nascom-1 verwendet die alten 2708 EPROMs. Der 2708 braucht neben der 5V Versorgung noch +12V und -5V. Da ich keinen EPROM-Brenner habe, benutze ich EEPROMs, die ich mit einem DIY-Prommer lesen und schreiben kann. Als Ersatz für die 2708 benutze ich die EEPROMs 28C16. Die vertragen sich aber nicht mit +12V und -5V, und haben noch 3 Pins, die beschaltet sein wollen (PROG, A11 und /WE). Dafür habe ich mir einen 2708-Adapter gemacht.
Links ist die erste Version, einfach einen DIL-Stecker und eine Fassung aufeinander gelötet. Dies gefällt mir aber nicht, deshalb hab ich mir eine Platine machen lassen.
Erste Version mit Platine ist in der Mitte. Die baut etwas hoch, deshalb habe ich die Pins gekürzt. Das Ergebnis ist rechts zu sehen.

2017-01-03

MCM657x - Emulator

Der MCM6576 ist der Zeichengenerator, der im Nascom-1 verwendet wird. Leider ist der nur sehr schwer und teuer zu bekommen.
Also habe ich mich entscheiden, das Ding nachzubauen. Grosser Vorteil: Ich bin nicht auf einen Zeichensatz angwiesen und ich kann alle Zeichensätze der MCM657x Familie in einen Baustein integrieren.
Dazu habe ich ein 32kByte EEPROM (28C256) genommen und eine Adapterplatine layoutet. Heute ist die Platine gekommen, zusammen gelötet und voila, hier ist sie. In das EEPROM passen 16 Zeichensätze mit je 128 Zeichen.
MCM657x-Emulator MCM657x-Emulator

2016-12-31

ZEAP Anleitung

Am Silvesterabend habe ich von Christian eine Anleitung für den ZEAP bekommen. Grins, freu!

2016-12-23

Bestückung und erster Test

Mit etwas Verzögerung hab ich endlich die Nascom-1 Platine bestückt.
Nach etwas mehr als 1300 Lötstellen sieht das Ergebnis so aus.
Dann habe ich die Standard-TTL Bauteile eingesockelt und Spannung angelegt. Kein Rauch! Und der Strom ist im üblichen Rahmen.
Mit dem Oszilloskop hab ich mir den Videoausgang angeschaut. Super, sieht echt gut aus.

2016-12-18

Die Bauteile

Vorige Woche sind die meisten Bauteile für beide Boards gekommen. Jetzt geht's ans löten.

Meine Nascom Platinen

Anfang November kamen endlich die Platinen.

Das Nascom-1 Board ist unbestückt, dafür aber auch unverbastelt. So hab ich mit dem Projekt etwas länger zu tun.

Das Buffer Board war notwendig um den Nascom-1 über einen längeren Bus erweitern zu können.

Der Nascom-2 ist etwas ausgeschlachtet.

Warum den einen Nascom?

Es war so um 1978, ich war 13, stand ein Nascom im Schaufenster unseres örtlichen Elektronikladens, neben einem PET 2001. Damals hatte ich noch keinen Schimmer von Computern.
Deshalb suchte ich schon seit längerer Zeit einen Nascom, bisher mit wenig Erfolg. Die Dinger sind selten. Auf der CC2016 habe ich endlich wieder einen gesehen.

2016-12-17

Aller Anfang ist schwer!

Vor ein paar Wochen habe ich ein paar Nascom Platinen über die EBucht auftreiben können. Da die Boards von komplett unbestückt (also jungfräulich, was wünscht man(n) sich mehr) bis fast komplett ausgeweidet bei mir ankamen, habe ich gedacht das dokumentierst du mal anständig. So hat diese Seite angefangen.
Zu meiner Person und wie ich hier gelandet bin, könnt ihr hier nachlesen.



Mitglied im
Classic Computing Logo



Free counters!