NKC Forum
Registrieren | FAQ | Suche | Wer ist online? | Mitgliederliste | Heutige Beiträge | Kalender | Einloggen



Autor Thema: Es wächst zusammen, was getrennt geboren wurde
Steffen.111
Kennt sich schon aus
**
ID # 184


  Erstellt am 08. Oktober 2017 19:41 (#1)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo in die Runde,

nach dem ich etwas endtäuscht bin, was für den NKC (Z80) so an Software angeboten wird...außer CP/M
...bin ich wieder aufgestachelt und in meinem Element.
...und an einem Projekt dran.

Schaut mal hier auf den Bildschirm:


Es wird eine Variante, bei der der AC1 Monitor kpl. im RAM läuft. Der originale Bildwiederholspeicher des AC1 wird von der GDP ausgelesen,
dargestellt und die NKC Tastatur eingebunden.
Damit wird er NKC zum AC1 und alle AC1 Programme laufen auch auf dem NKC.

Der erste Schritt ist gemacht, ich werde weiter berichten.

Grüße, Steffen

Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert
Creep
Voll in Gange
***
ID # 169


  Erstellt am 09. Oktober 2017 16:37 (#2)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo Steffen,

wie schon im anderen Forum geschrieben, bin ich daran sehr interessiert. Wenn man dann vielleicht noch CAS, CAS-NEO oder die IOE-VDIP-Variante zum Lasen/Speichern von Programmen nehmen könnte...

Gruß, Rene

Beiträge: 651 | Mitglied seit: Januar 2017 | IP-Adresse: gespeichert
Steffen.111
Kennt sich schon aus
**
ID # 184


  Erstellt am 09. Oktober 2017 18:48 (#3)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo Rene,

langsam mit den jugen Pferden :rolleyes:
zunächst muss der AC1 erstmal im NKC laufen. Programme oder/und Daten kann man ja zunächst im oberen
Speicherbereich ablegen und nach RESET im originalen NKC-GP ablegen, wo man will.
Später kann man den AC1 Monitor noch weiter an die NKC Hardware anpassen.
Bin schon froh, wenn ich wieder einen Editor-Assembler im NKC zur Verfügung habe und nicht immer den PC bemühen muss.
Aber Du hast schon recht, da tut sich ein weites Feld auf.
Grüße Steffen :)

Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert
hschuetz
Administrator
Seitenadmins
******
ID # 3


  Erstellt am 10. Oktober 2017 19:36 (#4)  |  Zitat Zitat   PN PN   E-Mail E-Mail   HP HP
Hallo Steffen,
was brauchst du denn an Software für den NKC?
Es gibt schon eine ganze Menge...Halt CPM!
Gruß
Hans-Werner

-----------------------
Ob 8bit oder 16 oder 32 ist doch egal, Haupsache selbstgebaut!

Beiträge: 889 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
Steffen.111
Kennt sich schon aus
**
ID # 184


  Erstellt am 11. Oktober 2017 16:22 (#5)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Zitat von hschuetz:
Es gibt schon eine ganze Menge...Halt CPM!


...ja eben!

Hallo Hans-Werner,
hab Dank für Dein Angebot!
Ich werde darauf sicher noch zurückkommen.
...wenn bei mir mal CP/M läuft. Aber das hat noch Zeit!
Zunächst will ich an die "gute alte Zeit" anknüpfen und mich in Systemprogrammierung (Z80) austoben.
Dafür brauche ich einen vernünftigen Editor-Assembler, der ohne CP/M läuft.
Ein Assemberlisting ohne Kommentare ist -sorry- zu nix nütze. Da war der AC1 mit EDAS besser.
Grüße Steffen

Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert
DerInder
Fast schon Admin
Seitenadmins
***
ID # 2


  Erstellt am 12. Oktober 2017 11:29 (#6)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Steffen,
ich bin zwar eigentlich nicht so der Z80-Freak, aber das Grundprogramm zusammen mit einem Editor und Assembler würden mich schon reizen. Dann vielleicht noch abspeichern über die CAS-Neo im FAT-Modus und man hätte ein rundes System.

-----------------------
Gruß
-=jens=-

Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
Steffen.111
Kennt sich schon aus
**
ID # 184


  Erstellt am 12. Oktober 2017 18:55 (#7)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin in die Runde,
der nächste Schritt ist getan!
Ichj konnte die GDP dazu überreden bei jedem VB (Vertical Blank) einen NMI auszulösen.
Dazu muss die GDP noch korrigiert werden:
1. R9 sollte maximal 3k3 betragen, der liegt ohnehin dann mit 1k auf der CPU in Reihe.
2. der Anschluss, der am Pin 13 des 9366 liegt, muss mit einem 100pF an GND gelegt werden.

3. An den R9 (9366-Pin13 Seite) ine Leitung die mit einem separaten Stecker auf den Bus zum /NMI geführt wird.

Ich habe den NMI verwendet, da diese Variante nicht mit anderen Interruptmöglichkeiten kollidiert.
In der Routine wird als erstes abgefragt, ob der 9366 den NMI ausgelöst hat. Also wie IM1 der Z80.
Im Moment werden auf dem Wege alle 20ms eine Zeile des AC1 Bildwiderholspeicher auf der GDP dargestellt.

Als nächstes werde ich die KEY in den Monitor 3.1 des AC1 "einbauen". Dann müsste soweit schon alles laufen.

Wenn alles fertig ist, werde ich hier nochmals alles incl. Software darstellen.

Grüße
Steffen

PS.: Irgendwie werden die Bilder nicht angezeigt !?

Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert
m.haardt
Voll in Gange
***
ID # 93


  Erstellt am 12. Oktober 2017 19:50 (#8)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Was ist das Ziel des Projekts, den AC1 am Leben zu erhalten?

In dem Fall wäre es konsequent, die Videokarte des AC1 als NKC-Karte zu bauen. Das wäre die Analogie zur CRT-Karte, mit dem Unterschied, dass man die Bausteine der CRT-Karte heute kaum noch kriegt und der AC1 dank dem Verzicht auf spezielle Controller noch einfach nachbaubar ist. So wird jede AC1 Software laufen und man hat keinen Leistungsverlust.

Die Tastaturschnittstelle sollte keine Probleme machen. Der AC1 hat offenbar eine ASCII-Tastatur mit Strobe, wie der NKC. Sie wird über einen anderen Port abgefragt, naja, das wird sich bestimmt in der Software ändern lassen. Der Schaltplan der Tastatur kommt mir bekannt vor. :) Interessant, das das Prinzip den Weg in die DDR schaffte.

Auf diese Weise würde ein NKC mit einer Karte zum AC1 und ein schönes Stück altes TTL-Design bliebe erhalten. Zudem bliebe dem NKC eine nachbaubare CRT-Karte mit 64x16 erhalten.

Michael

Beiträge: 501 | Mitglied seit: April 2008 | IP-Adresse: gespeichert
Steffen.111
Kennt sich schon aus
**
ID # 184


  Erstellt am 12. Oktober 2017 20:07 (#9)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo Michael,
Zitat von m.haardt:
Was ist das Ziel des Projekts, den AC1 am Leben zu erhalten?

Es geht mir darum die vielfältigere Hardware des NKC mit der besseren Software (unterhalb PC/M) zu verbinden.
Zitat von m.haardt:
So wird jede AC1 Software laufen und man hat keinen Leistungsverlust.

Wenn der NKC mit 4MHz läuft, dürfte das kaum auffallen.

Zitat von m.haardt:
Interessant, das das Prinzip den Weg in die DDR schaffte.

Oh-Ha! Dann schau Dir mal den AC1 genauer an. Ich kann den Verzicht des NKC auf CTC, SIO und co. nicht verstehen. Da war der AC1 fortschrittlicher. Bis auf CP/M, was wohl das vorrangige Ziel des NKC war. ;)
Das kam bein AC1 erst später.
Nix für ungut!
Grüße
Steffen

PS.: eine 32x64 BS-Karte für den NKC wäre auch nicht schlecht! ...war mir aber zu aufwändig.

Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert
DerInder
Fast schon Admin
Seitenadmins
***
ID # 2


  Erstellt am 12. Oktober 2017 20:16 (#10)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin,
jetzt muß ich da wohl mal wieder zwischengrätschen ;)

Der NKC ist primär als offenes System konzipiert und nicht als Z80 System!!!
Die Reduzierung des NKCs auf den Z80 zeigt einfach nur beschränkte Sicht auf das geniale Teil.

Wo ich dir allerdings Recht geben muß. ist der fehlende Timer beim NKC (ausser den auf der GDP64HS-FPGA).

-----------------------
Gruß
-=jens=-

Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
Steffen.111
Kennt sich schon aus
**
ID # 184


  Erstellt am 12. Oktober 2017 20:38 (#11)  |  Zitat Zitat   PN PN   E-Mail E-Mail
....hm, naja Jens, hab ja prinzipiell nix dagegen.
Aber Polling ist gegenüber einer INT gesteuerte Kommunikation mit Ein- und Ausgabepuffern der PIO oder SIO, sowie deren HDLC-Übertragung mit automatischer SIO-interner CRC-Berechnung schon etwas antiquiert. ;)
Das AC1-Backblech kann sich andererseits freilich nicht mit einem modular offenem System vergleichen.
Ich hatte seinerzeit beides :D ein modulares System aus GRW-Platinen und AC1-Software. ...da will ich wieder hin.
Grüße
Steffen

Zitat von DerInder:
...beschränkte Sicht auf das geniale Teil.

Da hast Du völlig Recht. Ich konnte nie wirklich mit einem anderen Prozessor Freundschaft schließen! :)

Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert
Creep
Voll in Gange
***
ID # 169


  Erstellt am 12. Oktober 2017 22:24 (#12)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo Steffen,

dann probier mal den 68008. Das finde ich beim NKC so genial einfach, daß er sich allein durch den Tausch einer Karte + ROM in einen quasi 16 Bit Computer verwandelt. Fast sämtliche Hardware wird weiter unterstützt, und man kann seine Erfahrung beim neuen Prozessor gleich mitnehmen.

Gruß, Rene

Beiträge: 651 | Mitglied seit: Januar 2017 | IP-Adresse: gespeichert
Creep
Voll in Gange
***
ID # 169


  Erstellt am 13. Oktober 2017 08:54 (#13)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Zitat von m.haardt:
Die Tastaturschnittstelle sollte keine Probleme machen. Der AC1 hat offenbar eine ASCII-Tastatur mit Strobe, wie der NKC.



Fast. Beim NKC wird ein Strobe-Impuls geliefert, beim AC1 bleibt der Strobe, solange die Taste gedrückt ist. Jedenfalls ist das bei meiner AC1-Tastatur so, weswegen ich sie auch nicht am NKC verwende, wie eigentlich damals geplant. OK, man könnte einen Monoflop zwischenschalten...

Gruß, Rene

Beiträge: 651 | Mitglied seit: Januar 2017 | IP-Adresse: gespeichert
Steffen.111
Kennt sich schon aus
**
ID # 184


  Erstellt am 24. Oktober 2017 21:07 (#14)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Phuhhhh... es ist geschafft! :)

Moin in die Runde!
Der AC1 Monitor 3.1 läuft im NKC im RAM!!! :D
...auch der ReAssembler und MiniBASIC. ...ohne Anpassungen!!

Ich will jetzt noch ein wenig Kosmetik machen und dann kann ich die Software veröffentlichen.
(Frage: Wie kann ich das Prog. hier bereitstellen?)

Man kann den AC1-Monitor fast ohne Einschränkungen bedienen.
Ein(ig)e Tasten sind noch "falsch verdrahtet" so geht Backspace nur zusammen mit der Strg-Taste.
Klar beim Scrolling schlägt der Nachteil der GDP64 zu. Ist aber noch erträglich, da dann schon mal,
je nach Tempo, 4-5 Zeilen auf eimal gescrollt werden.
Prinzipiell wird alle 20ms ein NMI von der GDP64 ausgelöst und jeder achte NMI refresht den Bildschirm.
Dabei werden nur die geänderten Zellen auf der GDP überschrieben. Das spart Zeit.

Ich will noch die NKC Kassettenroutinen zusätzlich als Erweiterung "an" den Monitor schreiben. Dann kann man auch z.B. mit der CAS-Neo EDAS, Text etc. nachladen.

Soweit erst einmal für Heute.
VG
Steffen

Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert
Creep
Voll in Gange
***
ID # 169


  Erstellt am 24. Oktober 2017 22:53 (#15)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo Steffen,

das sieht sehr gut aus! Schade, daß ich im Moment nicht zum Testen komme. Ab nächste Woche wieder!

Ich denke, Hans-Werner wird die SW gern auf seine Seite legen. Außerdem würde ich Dir mein bei github angelegtes Repository empfehlen:

https://github.com/Creep69/NKC

Wenn Du einen Account hast, kann ich Dich eintragen, und Du kannst alles selbst bearbeiten. Damit hast Du Backup, Versionsverwaltung (kannst also neue Versionen einfach quasi über die alte einchecken und jederzeit auf ältere zugreifen), und Verteilung an Interessierte.

Ich weiß nicht, ob Du GIT kennst aber damit arbeiten viele (auch wir in der Firma) Softwarentwickler.

Gruß, Rene

Beiträge: 651 | Mitglied seit: Januar 2017 | IP-Adresse: gespeichert
hschuetz
Administrator
Seitenadmins
******
ID # 3


  Erstellt am 26. Oktober 2017 22:05 (#16)  |  Zitat Zitat   PN PN   E-Mail E-Mail   HP HP
Hallo Steffen,
tolle Sache das...haben will!
Gruß
Hans-Werner

-----------------------
Ob 8bit oder 16 oder 32 ist doch egal, Haupsache selbstgebaut!

Beiträge: 889 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
DerInder
Fast schon Admin
Seitenadmins
***
ID # 2


  Erstellt am 26. Oktober 2017 22:16 (#17)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Steffen,
endlich Z80 ohne CPM :rolleyes:

Da bin ich (sogar als 68k Freak) auch dabei :cool:

-----------------------
Gruß
-=jens=-

Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
Steffen.111
Kennt sich schon aus
**
ID # 184


  Erstellt am 27. Oktober 2017 17:45 (#18)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo in die Runde,

danke für die Blumen!

Eben habe ich die Hälfte der CAS-Routinen umprogrammiert und eingebunden. Load und verify funktioniert und ist mit GP30 kompartibel.

Morgen vormittag noch den CAS-Speichern Teil und dann werde ich die Software frei geben.

VG
Steffen

Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert
Steffen.111
Kennt sich schon aus
**
ID # 184


  Erstellt am 28. Oktober 2017 17:30 (#19)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin in die Runde,

ich bin zwar noch nicht ganz zufrieden, aber wann ist das ein Programmierer schon!

Die beiliegende AC1-NKC-Datei ist 8kB groß.
Diese muss in den RAM ab Adresse 0000h geladen und dort ab Adresse 0000h gestartet werden.

Die vorliegende AC1-NKC-Adaption läuft nur im RAM!

Dafür habe ich das NKC-Grundprogramm 3.0 auf 3.1 erweitert:



Grundprogramm 3.1
=================
Das GP-3.1 ist dafür gedacht im 1.EPROM einer Boot/BANK zu laufen. Der Steckplatz 4 (6000..7fffh) muss mit einem RAM bestückt werden. Die Plätze 2 und 3 können jeweils ein 8kB Betriebssystem (wie eben die AC1-Adaption) enthalten.
Es muss darüber hinaus als Bank 00 eine ROA64 kpl. mit 64kB RAM vorhanden sein.

Mit den Funktionen 1 bis 3 wird der auf dem jew. Steckplatz befindliche EPROM in die Bank-0 auf Adresse 0000.1fffh geladen und wird dort ab Adresse 0000h gestartet.

Mit der Funktion "B = Bank" kann eine andere Bank eingeschaltet werden. Es wird dabei das dort vorhandene Programm ab Adresse 0000h gestartet. Damit kann man eine ROA64 mit einem anderen Betriebssystem im EPROM gestartet werden.

Mit "P = prog. EEPROM" kann man ein 8kB EEPROM (z.B. AT28C64B) mit Daten beschrieben werden. Es sind nur Bereiche außer 0000..1fffh programmiert werden. Auch darf der Zielbereich im EEPROM nicht über eine 8kB-Grenze hinaus gehen. Die Programierroutine beinhaltet das Aufheben und setzen des Schreibschutzes. D.h. der EEPROM lässt sich danach nicht mehr mit normalen LD (nnnn),HL etc beschreiben. Der EEPROM kann dabei auf seinem Steckplatz in der ROA64 verbleiben.

Die übrigen neuen Funktionen T, F und C erklären sich von selbst. Bitte ausprobieren!

Zurück zum AC1:
==============
Das 8kB File enthält den originalen AC1-Monitor 3.1 mit minimalsten Veränderungen (Tastenroutine). Enthalten ist:
0000..07ffh Monitor 3.1
0800..1fffh Mini-BASIC
1000..1B70h Monitorerweiterungen die nach dem Start auf 2800h.. umgeladen werden. (NKC-GDP und -KEY Routinen und AC1-Hexdump mit crc)
1B74..1fffh AC1-REASS

(Nur) Mit dem ersten Start auf Adress 0000h wird der Bereich 1000..1B70h nach 2800h.. umgeladen und der AC1-Monitor gestartet.
Dabei wird auf der NKC-GDP ein Interrupt bei jedem Bildwechsel (alle 20ms) gestartet. Dafür muss die IRQ-Leitung der GDP mit dem NMI auf dem Bus und über mind. 100pF nach Masse verbunden werden.

Der Widerstand R9 sollte dabei besser entfernt werden (ist auf CPU vorhanden).

Damit läuft alle 20ms ein NMI auf der Z80 ein und die normalen INT-Modi (bes. IM2) bleiben für Anwedungen frei. Die NMI-Routine bedient einen Zähler, so dass nur jeder 8-te NMI tatsächlich die Bildschirmdarstellung bewerkstelligt.
Ausgehend von der aktuellen Cursoradresse (in 1800..1801h abgelegt) wird überprüft, ob sich die Speichetstelle im AC1-Bildwiderholspeicher (17ff..1000h) gegenüber einem Schatten-Bildwiderholspeicher (27ff..2000h) verändert hat. Eine unveränderte Zelle wird übersprungen und nur eine veränderte Zelle in den "Schatten" aktualisiert und auf der GDP dargestellt. Dabei errechnet sich die X-Y-Position aus der AC1-Bildschirm-Adresse. Ein Leerdurchlauf ohne Änderung müsste ca. 50ms dauern; mit Darstellung über GDP entsprechend der GDP-Wartezeiten länger.

Bei der NMI-Routine wird jedoch immer der gesamte BWHS-Bereich (2kB) durchgesehen. Somit wird auch ein scrollen dargestellt, wobei schon mal 4 Zeilen zugleich "verschoben" werden.

Mit 4Mhz Taktfrequenz ist die Verzögerung durch die GDP erträglich. ...finde ich.

Der hier mitgegebne AC1-Monitor hat folgende zusätzlichen Funktionen:
d von bis .....org. AC1 - Hexdump mit Zeilenprüfsumme und
c von bis .....org. AC1 - Prüfsummenberchnung
i .............Schatten-Bildwiderholspeicher wird gelöscht (kpl. Neuanzeige auf GDP)
@ von bis .....org. AC1 - REASSembler
Z .............org. AC1 - MiniBASIC
l .............CAS Ladefunktion NKC kompatibel
v .............CAS Verifyfonkt. NKC kompatibel
s von bis Startadresse Dateiname .... CAS save NKC kompatibel

Bei den CAS-Funtionen wird der 2.Block, der für die NKC-Symbole gedacht ist, als Platzhalter für die Startadresse des gespeicherten Programmes "mißbraucht".

In der vorliegenden AC1-NKC-Adaption wurde das 4k-BASIC und der EDAS vom AC1 getestet. Der AC1-TEXT-Editor läuft jedoch nicht, da dieser wohl die 64KB nach RAM durchsucht und damit von Anfang an insatbil wird. Hier müsste noch mal gesucht werden.

So, ich hab erst mal die Nase voll. ;)

Nun probiere es mal aus, wer Lust dazu hat.
Fragen beantworte ich gerne.

VG
Steffen

EGRUND31_DE_CAS-VIII.zip
AC1-NKC 0307 BASIC REASS.zip

Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert
DerInder
Fast schon Admin
Seitenadmins
***
ID # 2


  Erstellt am 28. Oktober 2017 19:24 (#20)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Steffen,

tolle Arbeit, aber leider sind deine Links nicht OK.

In der EGRUND ZIP ist nur eine .OBJ Datei
Die AC1-NKC ist scheinbar nicht vorhanden :(

-----------------------
Gruß
-=jens=-

Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert



| https://hschuetz.selfhost.eu | Boardregeln | Datenschutzerklärung


Tritanium Bulletin Board 1.8
© 2010–2021 Tritanium Scripts


Seite in 0,047077 Sekunden erstellt
19 Dateien verarbeitet
gzip Komprimierung eingeschaltet
3829,38 KiB Speichernutzung