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.

2017-10-10
Classic Computing 2017 in Berlin
Auf der CC2017 habe ich einige von meiner Einplatinencomputern
ausgestellt, u.a. die beiden Nascoms.

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.
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!
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:
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:
(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.
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.
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.
Soll | Ist |
|
|
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:
(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.
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