NKC Forum |
Author | Topic: Dateitransfer PC<->NKC | ||
---|---|---|---|
smed Stammgast ![]() ![]() ID # 114 ![]() |
![]() ![]() ![]() ![]() ![]()
Hallo,
an einer Lösung fuer Dateiuebertragung PC<->NKC per SER2 haette ich auch Interesse. Bisher habe ich den Dateitransfer per Arduino auf NKC bus gelöst (siehe frühere posts von mir). Ganz wichtige ist allerdings eine "autostart" Funktion, damit der Ablauf: auf PC compilieren zum NKC übertragen program auf NKC starten Mit einem einzigen Tastaturshortcut geht, erst dann geht's mit dem programmieren in C fuer NKC richtig bequem. Ich benutze als Texteditor fuer gcc Sublime Text, damit kann man einfach eigene Makros (zum batchdatei aufrufen) einbinden. Meine Batchdatei sieht so aus:
Die autostart - Funktion geht so: Das Program NKCtransfer schiebt ueber COM4 die Datei (das executable) zum Arduino. Das executable hat einen NKC Bibliotheks Header und wird in den NKC Speicher geschrieben. Der Arduino kann natuerlich auch die KEY simulieren und auch einen NKC RESET ausloesen. Nach der Dateiuebertragung, loesst der Arduino einen RESET aus, wartet 2sek und simuliert dann die Tasten zum Bibliotheks Funktion und startet dort das erste Program. Das lief waehrend der Entwickung von Space Invaders ganz hervorragend. Das Ganze klingt hier komplizierter als es ist. Habe keine schnelle Idee wie man ein autostart - Funktion mit der SER2 realisieren koennte... Gruss smed ----------------------- NKC'ler und RDK Fan seit 1984 (Pause zw. 1988-2017) CPU68k,CPU68000,4xROA64,6xIOE,6xGDP,GDPHS,8xSBC2/3,HEXIO,6xKEY,FLO2,PROMER,CENT,SER,SOUND,CAS,4xBUS2,3xPOW5V,2xTAST..und neuerdings einen Arduino mit auf dem BUS. Und eine selbstgebastelte MEM960k. UHR, IDE und COL256 noch nicht gebastelt. NKC - OpenSource since 1983 |
||
Posts: 169 | Member since: January 2011 | IP address: not saved | |||
DerInder Fast schon Admin Seitenadmins ![]() ![]() ![]() ID # 2 |
![]() ![]() ![]() ![]() ![]()
Moin Moin,
bei mir läuft das DL-Programm jetzt mit der GDP-FPGA ![]() Auf PC-Seite hab ich noch die PATH-Variable ergänzt um: C:\Users\BENUTZER\AppData\Local\Programs\Python\Python38 (Python 3.8 da der PC mit Win7 läuft) Auf NKC-Seite (68030) hab ich das Programm noch ein klein wenig anpassen müssen, da es sich sonst nicht assemblieren ließ. Es gibt bei mir allerdings noch ein kleines Problem. Wenn man das Programm beendet und danach neu starten will, stürzt der NKC ab (Falscher Befehl). Ich tippe mal drauf, das der Stackpointer nicht stimmt. Die Variante für die SER2 läuft z.Zt. noch nicht. Ich bekomme da haufenweise Fehlermeldungen. Das dürfte an den Statusabfragen liegen, die hab ich wohl nicht so ganz korrekt hinbekommen... ----------------------- Gruß -=jens=- |
||
Posts: 904 | Member since: June 2004 | IP address: not saved | |||
andi Kennt sich schon aus ![]() ![]() ID # 213 |
![]() ![]() ![]() ![]() ![]()
Hi,
Super!! Check mal deine modifizierte Version ein. Ich schau sie mir dann mal an. Versteh nicht ganz warum der Stack nicht stimmen sollte. LG Andi |
||
Posts: 88 | Member since: May 2021 | IP address: not saved | |||
andi Kennt sich schon aus ![]() ![]() ID # 213 |
![]() ![]() ![]() ![]() ![]()
Hallo,
Ich hab noch einen Update + (kleinen) Bugfix eingecheckt. LG, Andi |
||
Posts: 88 | Member since: May 2021 | IP address: not saved | |||
andi Kennt sich schon aus ![]() ![]() ID # 213 |
![]() ![]() ![]() ![]() ![]()
Hallo, Also meine Lösung geht auch sehr schnell und einfach finde ich. Es wird zwar auf der NKC Seite ein Programm zum Empfang der Daten benötigt aber der Unterschied zu deiner Lösung ist nicht groß. Das Emfangs- Programm musst du vorher starten was aber kein großes Problem darstellt. Auf der PC Seite starte ich einfach einen kurzen Script der auf die NKC Seite wartet und dann den Transfer erledigt. Am Ende ist das File (Testprogramm) auf einer Disk (Ramdisk) und kann gestartet werden (Ein Autostart-Befehl wär beim Download Programm auch kein Problem). Wenn ich dann aus meinem Testprogramm nicht mehr ordnungsgemäß raus komme muss ich Reset drücken und zurück ins Jados wechseln (G B) und dann das Empfangsprogramm neu starten (Pfeil- rauf Taste, Return) und das ganze kann von vorne beginnen. Deine Lösung via DMA hat auch was weil sie kein Empfangs-Programm braucht, ist aber nur bei einem 68008 ( 8-bit Bus) richtig einfach. Bei einem 68020 mit 32bit bus ist das was anderes. Meine SW Lösung funktioniert hier immer gleich gut. Wär toll wenn wir eine gemeinsame Lösung auf die Welt bringen könnten. LG Andi |
||
Posts: 88 | Member since: May 2021 | IP address: not saved | |||
smed Stammgast ![]() ![]() ID # 114 ![]() |
![]() ![]() ![]() ![]() ![]()
Hi,
da hast du Recht, das mit dem Arduino auf dem Bus geht nur beim 68008 einfach. Die autostart Funktion ist eszentiell fuer eine bequeme Entwickungsumgebung - ein einzelner (1) Tastendruck am PC fuer compilieren, uebertragen und starten, und das alles mit der SER2 - das ist die Herausforderung... Ein Paar Gedanken: Auf dem NKC ein Program voher zu starten ist ja kein Problem, aber von da an sollte der Autostart mehrfach funktionieren. Geht da was mit einer Interrupt Routine? Die SER2 hat doch 2 ports, vielleicht liesse sich der 2. port zum Interrupt-ausloesen verwenden? Vom PC aus 2 Kabel ist ja auch kein Problem... Gruss smed ----------------------- NKC'ler und RDK Fan seit 1984 (Pause zw. 1988-2017) CPU68k,CPU68000,4xROA64,6xIOE,6xGDP,GDPHS,8xSBC2/3,HEXIO,6xKEY,FLO2,PROMER,CENT,SER,SOUND,CAS,4xBUS2,3xPOW5V,2xTAST..und neuerdings einen Arduino mit auf dem BUS. Und eine selbstgebastelte MEM960k. UHR, IDE und COL256 noch nicht gebastelt. NKC - OpenSource since 1983 |
||
Posts: 169 | Member since: January 2011 | IP address: not saved | |||
Waldheini Ist öfters hier ![]() ![]() ID # 168 |
![]() ![]() ![]() ![]() ![]()
Hallo,
ich mache das mit dem Z80 unter CP/M auch mit der SER in meinem Assember. Ich übertrage aber nicht das Bin direkt sondern als ASCII. Das dauert zwar länger, aber ich kann Steuerzeichen mit senden, wie z.B. den Dateinamen, unter dem das Programm gespeichert wird. Ich habe zwar kein Autostart eingebaut, würde aber sicher auch gehen. Die DMA Lösung nutze ich dabei aber auch, nur nicht über einen Android, sondern einen USB-Controler den ich auf einer Karte im NKC habe. War mit RAM in der Bankboot ganz nützlich, um den FLOMON für meine billig CRT umzuschreiben. Funktioniert auch mit 16 Bit recht gut, nur habe ich da noch keinen Assembler. Gruß Bernd |
||
Posts: 29 | Member since: December 2016 | IP address: not saved | |||
Creep Voll in Gange ![]() ![]() ![]() ID # 169 |
![]() ![]() ![]() ![]() ![]()
Hallo Andi,
könntest Du vielleicht noch das *.68k vom rs232d einchecken? Bzw. womit assembliere ich es? Ich hatte es in den Editor vom GP geladen und den Assembler aufgerufen. Darauf wurden nur Fehler Angezeigt (unbekannte Symbole oder so, habs grad nicht neben mir). Ich hab jetzt meine SER im System und möchte das gern mal probieren. Gruß, Rene |
||
Posts: 617 | Member since: January 2017 | IP address: not saved | |||
andi Kennt sich schon aus ![]() ![]() ID # 213 |
![]() ![]() ![]() ![]() ![]()
Hallo,
Ja mach ich heute Abend. Interessant dass das bei dir nicht geht. Ich assembliere es immer mit dem GP-Assembler. Hat jemand eine Idee was da schief gehen könnte? |
||
Posts: 88 | Member since: May 2021 | IP address: not saved | |||
Creep Voll in Gange ![]() ![]() ![]() ID # 169 |
![]() ![]() ![]() ![]() ![]()
Hallo,
ich probier das auch nochmal. Ich war mir ja nicht sicher, ob es wirklich gehen sollte und hab die Fehler erstmal so hingenommen und nicht weiter probiert. Gruß, Rene |
||
Posts: 617 | Member since: January 2017 | IP address: not saved | |||
Creep Voll in Gange ![]() ![]() ![]() ID # 169 |
![]() ![]() ![]() ![]() ![]()
So, das Assemblieren klappt. Allerdings kann ich nicht das "rs232d.asm" aus dem GP mit Laden von Editordaten oder aus dem Editor einlesen. Das gibt einen allgemeinen Fehler, wenn ich "E:rs232d.asm" als Namen angebe. Directory von "E:" anzeigen klappt aber. Als von Jados aus edit rs232d.asm und im Editor dann ^KA.
Wie schreibe ich das *.68k File dann auf Diskette? Aus dem GP Menü, aber was als Start- und Endadresse? Ich sollte nochmal ausgiebig die Dokumentation von GP und JaDos lesen. Überflogen hab ich sie ja schonmal. Aber was nützt das, wenn man die Informationen da gerade nicht braucht? Gruß, Rene |
||
Posts: 617 | Member since: January 2017 | IP address: not saved | |||
andi Kennt sich schon aus ![]() ![]() ID # 213 |
![]() ![]() ![]() ![]() ![]()
Hallo,
Wenn du das .asm file auf einer Jados Disk hast dann assembliere |
||
Posts: 88 | Member since: May 2021 | IP address: not saved |
| https://hschuetz.selfhost.eu | Board rules | Privacy policy
Tritanium Bulletin Board 1.8
© 2010–2021 Tritanium Scripts
Site created in 0.019683 seconds
Processed 19 files
gzip compression enabled
907.66 KiB memory usage