|
NKC Forum |
| Author | Topic: Projekt C-Crosscompiler |
|---|---|
|
smed Stammgast ![]() ![]() ID # 114 ![]() |
Posted on November 18, 2025 10:59 PM (#61)
Quote
PM E-mail
Hallo redo,
der Fehler kommt mir bekannt vor, hatte ich auch. Hier aus einer email aus 2023: Habe aber merkwuerdige Probleme mit make, da gibt ?mkdir? den Fehler ?The system cannot find the path specified?. Wenn ich allerdings das make mit -n ausfuehre, und dann jede Zeile ?manuell? ausfuehre gibts kein Problem. /dev/null beim mkdir scheint das zu sein, allerdings nur innerhalb make, ?cat Makefile > /dev/null? ? kein Problem /dev/null ist bekannt. Ich hatte das damals nicht lösen können. Füge mal bei make ein -n dazu dann kriegt du mehr infos von make. Viele Monate später hatte ich dann nochmal einen anlauf gemacht und seitdem funktioniert alles. Nun krame ich in meinem Hirn um mich zu erinnernn was ich geändert hatte. Es war nichts kompliziertes. Ich glaube es lag zunächst an cygwin und dann auch and der make version, ich hatte dann zu msys2 gewechselt und make über pacman dazuinstalliert, aber genau das schreibst du ja auch. Tja, das alles hilft Dir nicht wirklich weiter, vielleicht fallen mir noch die details wieder ein. Also bisher nur moralischer support. Gruss smed ----------------------- NKC'ler seit 1984 (Pause zw. 1988-2017) CPU68k,CPU68000,4xROA64,6xIOE,6xGDP,GDPHS,8xSBC2/3,HEXIO,6xKEY,UHR3,PROMER,CENT,SER,SOUND,CAS,6xBUS2,4xBUS3,3xPOW5V,2xTAST..und einen ArduinoMEGA mit auf dem BUS, und eine selbstgebastelte MEM960k und eine FPGA-GDP. NKC - OpenSource since 1983 |
Posts: 308 | Member since: January 2011 | IP address: not saved | |
|
smed Stammgast ![]() ![]() ID # 114 ![]() |
Posted on November 18, 2025 11:16 PM (#62)
Quote
PM E-mail
Hier mal der Fehler seziert und kommentiert. Das Problem ist das /dev/null nicht aus make erreichbar ist. Ein makefile zum testen hat nur 3 Zeilen: <TAB> heisst ein tab, kann ich nicht hier im Forum eingeben
drwxrwx---+ 1 USER Kein 0 Feb 3 23:10 obj drwxrwxr-x+ 1 USER Kein 0 Feb 4 12:43 test //test gibts schon USER@T440p /cygdrive/c/SysGCC/m68k-elf/Examples/cpp_test $ rmdir test //also zwecks test removen USER@T440p /cygdrive/c/SysGCC/m68k-elf/Examples/cpp_test $ make //make! pwd //ins makefile eingefuegt um zu sehen wo die Shell ist /cygdrive/c/SysGCC/m68k-elf/Examples/cpp_test //ok! mkdir test 2>/dev/null || echo "" >/dev/null // /dev/null scheint unbekannt, jeweils ein error: ! The system cannot find the path specified. The system cannot find the path specified. make: *** [all] Error 1 USER@T440p /cygdrive/c/SysGCC/m68k-elf/Examples/cpp_test $ mkdir test 2>/dev/null || echo "" >/dev/null //nun die Zeile mal manuell probieren-kein Problem! USER@T440p /cygdrive/c/SysGCC/m68k-elf/Examples/cpp_test $ ls total 36 -rwxrwx---+ 1 USER Kein 80 Feb 4 12:40 Makefile -rwxrwx---+ 1 USER Kein 4178 Feb 4 00:45 'Makefile - Copy' -rwxrwx---+ 1 USER Kein 4179 Jan 15 22:14 Makefile_bak drwxrwx---+ 1 USER Kein 0 Jan 15 22:11 _out -rwxrwx---+ 1 USER Kein 1705 Jan 2 19:59 complex.cc -rwxrwx---+ 1 USER Kein 877 Jan 2 19:59 complex.h -rwxrwx---+ 1 USER Kein 1764 Jan 2 19:59 cpp_test.cc drwxrwx---+ 1 USER Kein 0 Feb 3 23:38 lala drwxrwx---+ 1 USER Kein 0 Feb 3 23:10 obj drwxrwxr-x+ 1 USER Kein 0 Feb 4 12:44 test //ok! ??? Warum geht das nicht aus make? ----------------------- NKC'ler seit 1984 (Pause zw. 1988-2017) CPU68k,CPU68000,4xROA64,6xIOE,6xGDP,GDPHS,8xSBC2/3,HEXIO,6xKEY,UHR3,PROMER,CENT,SER,SOUND,CAS,6xBUS2,4xBUS3,3xPOW5V,2xTAST..und einen ArduinoMEGA mit auf dem BUS, und eine selbstgebastelte MEM960k und eine FPGA-GDP. NKC - OpenSource since 1983 |
Posts: 308 | Member since: January 2011 | IP address: not saved | |
|
andi Voll in Gange ![]() ![]() ![]() ID # 213 |
Posted on November 18, 2025 11:35 PM (#63)
Quote
PM E-mail
Check mal welches make er bei dir verwendet.
Gib dazu "which make" ins MSYS Terminal ein. Er erwischt bei dir das falsche make denke ich. Gib mal "make --version" ein. Bei mir kommt das folgendes: $ make --version GNU Make 4.2.1 Built for i686-pc-msys Copyright (C) 1988-2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. |
Posts: 528 | Member since: May 2021 | IP address: not saved | |
|
redo Stammgast ![]() ![]() ID # 245 |
Posted on November 18, 2025 11:51 PM (#64)
Quote
PM E-mail HP
Hallo, besten Dank. Ich werde die letzten Beiträge von euch morgen ausprobieren. Melde mich?
VG Jürgen ----------------------- Nach vielen Jahren ging es mit dem NKC wieder los.... Sehr spannend! |
Posts: 239 | Member since: June 2025 | IP address: not saved | |
|
redo Stammgast ![]() ![]() ID # 245 |
Posted on November 19, 2025 02:51 PM (#65)
Quote
PM E-mail HP
Hallo, nochmals vielen Dank für die Hilfe. Ich habe eure letzten Posts jetzt abgearbeitet - mit Erfolg!
Ich habe MSYS2 installiert und den PATH in der .bashrc im Homeverzeichnis bereits erweitert um export PATH="$PATH:/c/msys64/mingw64/bin/:/c/SysGCC/m68k-elf/bin" Eine Abfrage mit which make /c/SysGCC/m68k-elf/bin/make und die Version mit make --version GNU Make 3.82 Built for i686-pc-mingw32 ..... Daraufhin installierte ich mit pacman -S make ein neues Makepaket für MSYS2 Die Kontrolle mit which make /usr/bin/make und die Version make --version GNU Make 4.4.1 Built for x86_64-pc-msys .... Danach wechselte ich in /c/sysgcc/m68k-elf/examples/jados_test und rief make auf Das lief jetzt durch. Das war die halbe Miete. Aber läuft das auch im NKC 68008 test.68k habe ich dann über die SD-Karte an den NKC übertragen. Mit MTOOLS auf das bei mir freie E: kopiert und gestartet: ![]() KLasse! Herzlichen Dank für eure Hilfe. Jetzt läuft das bei mir ja in einer UNIX-Shell unter Windows 10. Ich würde es natürlich lieber direkt unter Linux, in meinem Fall Debian ausführen wollen. Windows verwende ich nur noch in Ausnahmefällen (z.B. Eprom brennen mit TL866II Plus). Ist die Umgebung von SysGCC mit Ausnahme der EXE-Dateien auch für Linux geeignet? Es gibt mehrere Informationen in Github und Mikrcontroller.net über m68k-elf Crosscompiler Installationen auf Linux (Arch, Ubuntu...). Ist das zu kombinieren? Jetzt schau ich mir die Beispiele in C an und werde etwas rumspielen. Dann probiere ich das mit dem Schach von https://www.tckerrigan.com/Chess/TSCP/ Im gcc auf Linux und Mac lässt sich das einfach kompilieren und läuft. VG Jürgen ----------------------- Nach vielen Jahren ging es mit dem NKC wieder los.... Sehr spannend! |
Posts: 239 | Member since: June 2025 | IP address: not saved | |
|
andi Voll in Gange ![]() ![]() ![]() ID # 213 |
Posted on November 19, 2025 03:18 PM (#66)
Quote
PM E-mail
Hallo Jürgen,
Super dass das nun auch bei dir geht. Für das übertragen des 68k files auf den NKC würd ich dir RS232D.68k (NKC) bzw. dl.py (PC-Seite) empfehlen. Geht schneller als das herumkopieren via SD-Card. Das RS232D.ASM ist auf meinem SD-Card Image drauf (und auch hier: https://github.com/avg67/nkc/blob/main/SW/Python_dl/rs232d.asm). Du musst es für den 68008 neu übersetzen und zuvor CPU auf 1 ändern. Die Übertragung erfolgt via SER1 (6551 der im FPGA enthalten ist wenn du z.B. das Tang-Nano als GDP verwendest). Beim klassischen 6551 gehen aber max 19200 Baud, der FPGA kann max. 115200 Baud. Weiters brauchen viele Programme den FPGA-Timer (in Tang-Nano). Der kann auch Interrupts auslösen und wird generell für hintergrund-aktivitäten verwendet. Ich denke um sinnvoll arbeiten zu können wirst du diesen brauchen (kann man auch alleine ins Tang-nano geben wenn es sein muss, oder zusammen mit der SER1). Hab auch einen kurzen Blick in den Schach-Source geworfen. Da werden in book.c file operationen verwendet (fopen, fclose, fseek, fget, fput). Die werden aktuell nicht unterstützt! Das müsste man umbauen auf direkte Jados-Traps. Sollte aber machbar sein. Er liest da nur das book file bei jeden Zug. Das kann man auch gleich direkt in den Speicher einlesen und dort zugreifen (hängt davon ab wie groß es ist). LG, Andi |
Posts: 528 | Member since: May 2021 | IP address: not saved | |
|
redo Stammgast ![]() ![]() ID # 245 |
Posted on November 19, 2025 05:15 PM (#67)
Quote
PM E-mail HP
Hallo Andi, hallo Alle,
zwei Sachen: Ich habe den Crosscompiler für m68k-elf bei brew für linux entdeckt. Das probiere ich jetzt mal. Ergebnis: Ich installierte mit brew den m68k-elf-gcc und die m68k-elf-binutils. Der gcc läuft mit Version 15.2 Na ja, bin dann unbedarft weiter und habe den jados_test probiert. Das ging natürlich nicht, weil er die #include <stdio.h> nicht gefunden hat. Da fehlt wahrscheinlich noch einiges. Wäre ja für den Laien zu einfach gewesen. Dann habe ich mich noch bei NEWLIB umgesehen (ich las da was mit Newlib-Stubs) https://sourceware.org/newlib/ Habe die 4.4.0 geladen und mal nach der Anleitung in dem alten Artikel versucht: https://www.mikrocontroller.net/articles/GCC_M68k Klappte mit NEWLIB nicht, Compilerfehler in mathematischen Modulen. Ich bleibe halt jetzt bei Windows mit dem MSYS2, was ja jetzt funktioniert. Wie würdest Du oder die Anderen da vorgehen? Was hat euch bisher davon abgehalten, es mit Linux und dem Crosscompiler direkt zu versuchen? Was meinst Du, sollte ich wieder ein neues Thema für das Schachprogramm aufmachen? Nicht, dass es wieder zur Verfälschung wie beim FPGA kommt. Nach Deiner Einschätzung mit der book.c könnte das doch gehen. Gibt es ja wieder was zu lernen. Also, ich würde es tatsächlich für den 68008 (diskret) und den TangNano angehen wollen. Die Züge sollen dann über eine SD-IOE an einen Arduino übetragen werden, an dem ein Robotorarm dran ist. Diesen Arm, von dem ich allerdings noch nicht weiß, ob er bezgl. der Genauigkeit (Servos) auch ausreichend ist, habe ich mir mal besorgt: https://www.amazon.de/dp/B0C675C2ZM?ref=ppx_yo2ov_dt_b_fed_asin_title Brett und Figuren baue ich im 3D-Drucker? später? VG Jürgen ----------------------- Nach vielen Jahren ging es mit dem NKC wieder los.... Sehr spannend! |
Posts: 239 | Member since: June 2025 | IP address: not saved | |
|
andi Voll in Gange ![]() ![]() ![]() ID # 213 |
Posted on November 20, 2025 08:20 PM (#68)
Quote
PM E-mail
Hallo,
nein so funktioniert das nicht. Du musst das alles konfigurieren und dann bauen. Hab das in der Vergangenheit schon mehrmals gemacht für verschiedene CPUs einen GCC aufzusetzen. Ist relativ aufwendig. Einfacher wäre es fertige GCC binaries zu verwenden (so wie der SysGCC unter Windows). Muss mal meine Aufzeichnungen durchforsten. Finde das sicher noch wo. Für ein neues Thema ist es sicher von Vorteil einen neuen Thread aufzumachen. So bleibt das besser getrennt. Bin schon gespannt auf deinen Schachcomputer. Die Servo-Ansteuerung wäre übrigens auch sehr einfach via Tang-Nano in VHDL machbar. LG, Andi |
Posts: 528 | Member since: May 2021 | IP address: not saved | |
|
redo Stammgast ![]() ![]() ID # 245 |
Posted on November 20, 2025 11:39 PM (#69)
Quote
PM E-mail HP
Hallo Andi,
danke für Deine Einschätzung. Den Mut bringe ich jetzt nicht auf und bleibe zunächst bei Windows. C lerne steht im Vordergrund. War halt eine Idee. Tuti hat mal geschrieben, dass er das mit dem Linux vieleicht im Winter mal probieren wollte. Soviel Zeit muss sein. Vielleicht hat das ja hier schonmal jemand versucht und könnte berichten. Und, Du jast jetzt schon soviel geholfen, Danke dafür. Wenn ich mit dem Roboter startklar bin, lege ich ein neues Thema auf. Soll also mit dem beschriebenen Schachprogramm in C auf dem 68k laufen. Wie genau, das wird sich dann finden. VG Jürgen ----------------------- Nach vielen Jahren ging es mit dem NKC wieder los.... Sehr spannend! |
Posts: 239 | Member since: June 2025 | IP address: not saved | |
|
tuti Voll in Gange ![]() ![]() ![]() ID # 225 |
Posted on November 20, 2025 11:49 PM (#70)
Quote
PM E-mail
tuti nimmt sich gerne viel vor bevor ihn dann die zeitliche Realität einholt
![]() Wir werden sehen... ![]() ----------------------- Definitiv sind Frösche und Himbeeren am besten! |
Posts: 588 | Member since: July 2022 | IP address: not saved | |
|
redo Stammgast ![]() ![]() ID # 245 |
Posted on December 01, 2025 05:47 PM (#71)
Quote
PM E-mail HP
Hallo,
ich experimentiere jetzt schon seit geraumer Zeit mit C, dem Crosscompiler (Windows) und meinem dedizierten 68008. Das klappt ganz gut. Jetzt wollte ich, wie Andi in #66 hier schrieb, den Dateitransfer über Python probieren. Siehe dazu auch hier https://github.com/avg67/nkc/tree/main/SW/Python_dl Andi schreibt dort, dass es mit dem 6551 (SER-Karte) wegen dem RTS/CTS Probleme geben kann. Ja, das habe ich erlebt. Die Datenübertragung funktioniert bei mir nur zwischen PC und TangNano (Bd 115200), nicht zwischen PC und SER-Karte (Bd 19200). Die beiden Programme laufen auf beiden Seiten, aber im einen Fall kommt keine Verbindung zustande. Mit meinem seriellen Kabel (RTS/CTS gekreuzt, TX/RX gekreuzt kann ich in der Z80 Umgebung Daten zwischen PC und NKC austauschen. Hat jemand von euch eine funktionierende Konfiguration und könnte mir mit den Einstellungen auf der SER-Karte (Neuauflage V1.0 07/2017) helfen? Besten Dank... VG Jürgen ----------------------- Nach vielen Jahren ging es mit dem NKC wieder los.... Sehr spannend! |
Posts: 239 | Member since: June 2025 | IP address: not saved | |
|
andi Voll in Gange ![]() ![]() ![]() ID # 213 |
Posted on December 01, 2025 08:17 PM (#72)
Quote
PM E-mail
Hallo,
Dl.py verwendet kein RTS/CTS Handshake. Jumpere mal CTS auf der SER1 Karte auf GND. Dann ist er deaktiviert und blockiert nicht den Transfer. Check weiters mal die I/O- Adresse der SER1 auf 0xF0. Dort sucht RS232D danach. Ansonsten fällt mir nichts weiteres ein. Mit meiner Ser1 Karte geht der Transfer jedenfalls. LG Andi |
Posts: 528 | Member since: May 2021 | IP address: not saved | |
|
redo Stammgast ![]() ![]() ID # 245 |
Posted on December 01, 2025 11:49 PM (#73)
Quote
PM E-mail HP
Hallo Andi, danke für die Rückmeldung.
das mit dem CTS auf GND probiere ich. Die Adresse stimmt so. Ich beobachtete beim Abziehen von kabelverbindungen zum FTDI (habe den Max ja raus), dass plötzlich ein RX Error im RS232D erschien. VG Jürgen ----------------------- Nach vielen Jahren ging es mit dem NKC wieder los.... Sehr spannend! |
Posts: 239 | Member since: June 2025 | IP address: not saved | |
|
redo Stammgast ![]() ![]() ID # 245 |
Posted on December 02, 2025 10:32 AM (#74)
Quote
PM E-mail HP
Hallo Andi, ich habe das jetzt nochmal probiert. Das hat bei mir nicht geklappt. Weder mit dem MAX232D und einem FTDI-Seriell-Adapter mit meinem Datenkabel, dass ich für die Übertragung am Z80 verwendet habe, noch mit einem TTL-FTDI. Auf Windows-Seite waren beide Schnittstellen vorhanden. Aber egal...
Ich habe mich jetzt vom dedizierten 68008 abgewandt zu Gunsten des TangNano, das Crosscompiler Framework auf cpu=2 umgestellt und neu compiliert. Dort funktioniert die Übertragung via dl.py einwandfrei. Andere Sache: Doppelte Spannungsversorgung Probleme habe ich dort mit den Spannungsversorgungen. Der Tangnano wird ja dann über die USB-Verbindung mit Strom versorgt. Die Uhr und die Centronics aber über das Netztteil am Bus. Das spielt nicht so schön zusammen. Ist es dort besser, die VCC aus dem USB-Kabel zu unterbrechen und nur ein komplettes USB-Kabel für die Programierung des TandNano zu verwenden? VG Jürgen ----------------------- Nach vielen Jahren ging es mit dem NKC wieder los.... Sehr spannend! |
Posts: 239 | Member since: June 2025 | IP address: not saved | |
|
andi Voll in Gange ![]() ![]() ![]() ID # 213 |
Posted on December 02, 2025 03:58 PM (#75)
Quote
PM E-mail
Hallo Jürgen,
check nochmal ob deine SER1 genau nach dem default gejumpert ist lt. Schaltplan. Bei mir geht's so. Ja die doppelte Stromversorgung ist ein kleines Problem. Ich versorg meinen Tang-Nano NKC nur via USB (kein zusätzliches Netzteil). Wenn du das Tang-Nano nur über den Bus versorgen willst kannst du die SMD-Sicherung FU1 (Rückseite neben SD-Card sockel) auslöten. https://dl.sipeed.com/fileList/TANG/Nano_20K/2_Schematic/Tang_Nano_20K_3921_Schematics.pdf |
Posts: 528 | Member since: May 2021 | IP address: not saved | |
|
redo Stammgast ![]() ![]() ID # 245 |
Posted on December 04, 2025 09:53 AM (#76)
Quote
PM E-mail HP
Hallo Andi,
ja, ich betreibe den Tangnano jetzt ohne externes Netzteil. Wie gestern im Jitsi diskutiert, reicht die die Stromversorgung durch den USB-Port aus. Alternativ baue ich mir ein USB-Kabel ohne 5Volt, sollte ich die Flo mal betreiben wollen. Hier noch das Beispiel für die Cursoranzeige, die bei mir im Programm nicht funktioniert. Dieses Menu habe ich aus dem Schachspiel extrahiert. Im Zip ist alles enthalten. menu.zip Kannst Du mal schauen, was da falsch läuft? Besten Dank. VG Jürgen Nachtrag: In MINE_MONO zeigt folgende Sequenz auch keinen blinkenden Cursor (mine.cpp ab Zeile 164): gp_ci(); gp_clearscreen(); gp_setflip(10u,10u); gp_cursor_on(); puts("Please enter your name for highscore list\r\n"); char bfr[80u]={0u}; fgets(bfr, sizeof(bfr), stdin); puts("\r\n"); gp_cursor_off(); gp_setflip(0u,0u); ----------------------- Nach vielen Jahren ging es mit dem NKC wieder los.... Sehr spannend! |
Posts: 239 | Member since: June 2025 | IP address: not saved | |
|
andi Voll in Gange ![]() ![]() ![]() ID # 213 |
Posted on December 05, 2025 09:44 AM (#77)
Quote
PM E-mail
Hallo,
vielen Dank für den Beispielcode. Ich schau mir das am Wochenende an. Um ehrlich zu sein mit der Cursor-darstellung hab ich bisher auch Probleme, war mir aber (bisher) mehr oder weniger egal. Aber probier mal folgende Änderung aus: gp_setflip(10u,0u); Bei meinen Assembler-Experimenten funktioniert das und der Cursor blinkt dann. Bei SetFlip sollte nur einer der beiden Parameter !=0 sein. Beide auf einen Wert !=0 zu setzen ist ungültig (siehe GP Handbuch). War ein Fehler in meiner SW. Das GP kann entweder nur eine zwei- oder vier-Seitenumschaltung bei der GDP machen. Nicht beides gleichzeitig! Nachtrag: Da ist auch ein weiteres problem im Zusammenspiel GCC-Libraries - GP. Aktuell ruft dieser CI vom GP nur auf wenn ein Zeichen da ist (prüft dieser mittels CSTS). Ich hab die stellen im newlib_stub.c gepatcht. Dadurch wird es bedingungslos immer aufgerufen und der Cursor blinkt dann auch wie er soll. Bitte Zeilen 176-178 auskommentieren und danach die NKCLIB neu compilieren und installieren (make; make install) - siehe https://github.com/avg67/nkc/blob/main/SW/SysGCC-delta/m68k-elf/nkc_common/newlib_stubs.c#L176 LG, Andi |
Posts: 528 | Member since: May 2021 | IP address: not saved | |
|
redo Stammgast ![]() ![]() ID # 245 |
Posted on December 05, 2025 03:49 PM (#78)
Quote
PM E-mail HP
Hallo Andi, hallo Alle,
das hat so nicht geklappt. Ich habe es soweit, dass der Cursor nach Beenden eines Programm wieder blinkt. Innerhalb einer Anwendung blinkt da bei Eingaben nix. Das wird wohl so sein. (Habe mit NewPage, Setflip, cursor_on.._off gebastelt) Andere Sache: Mit gp_writexy wird Text an einer xy-Stelle ausgegeben. Mit #define CCNV_X(X) (((uint16_t)X)*6u) #define CCNV_Y(Y) (((uint16_t)Y)*10u) und static inline __attribute__((always_inline)) void WriteScreenxy(uint8_t x, uint8_t y,const char* const p_str) { gp_writexy(CCNV_X(x),CCNV_Y(y),0x11, p_str); } (aus 4-gwinnt) kann man schön mit Bezug zu 0,0 in der linken unteren Ecke eine Textausgabe mit 24 Zeilen und 80 Spalten bauen. Will man aber jetzt z.B. mit fgets einen Text eigeben und der soll nach dem writexy kommen, so tut man sich mit der Positionierung schwer. Mit gp_setcurxy wird nämlich mit Bezug (0,0) von links oben gerechnet. Da ist immer ein Versatz vorhanden. Mit gp_moveto klappt es auch nicht, da positioniert das fgets links oben in der Ecke. Wie funktioniert zusammen mit dem GP710, Jados und dem TangNano die Bildschirmausgabe in X-Zeilen, Y-Spalten (hier 24,80) und Eingabe an einem Ort in X-Zeilen, Y-Spalten, so dass es zusammenpasst? Wie löst Du oder ihr das in euren Programmen, wenn es um Bildschirmmasken geht? VG Jürgen ----------------------- Nach vielen Jahren ging es mit dem NKC wieder los.... Sehr spannend! |
Posts: 239 | Member since: June 2025 | IP address: not saved | |
|
andi Voll in Gange ![]() ![]() ![]() ID # 213 |
Posted on December 05, 2025 06:20 PM (#79)
Quote
PM E-mail
Hallo Jürgen,
Wegen dem Cursor - hast du auch den Patch von newlib_stubs.c getestet? Damit blinkt der Cursor bei mir überall bei einer Eingabe, nur durch recompile der Programme (z.B. dhry.c oder jados_test). Weiters würd ich dir die GP-Docu ans Herz legen https://nkcforum.de/ndr/software/soft68/Handbuch%20Grundprogramm%20V7.0.pdf Du musst gruundsätzlich zwischen text und grafik ausgabe unterscheiden. z.B. gp_writexy, gp_moveto, gp_drawto ist für die grafik. Text kannst du damit nicht positionieren (außer du schreibst ihn im grafikmode). Für die Testausgabe mit Spalten und Zeilen gibt es eigene Befehle (siehe pdf oben Seite 79). Um den Text-Cursor zu positionieren brauchst du setcurxy bzw mit getcurxy kriegst du zurück wo er gerade steht. Dir muss auch klar sein wie der Textmode funktioniert. Dort gibt es zwei pages die den selben text haben. In einer davon ist das Cursor-Symbol gezeichnet, in der anderen nicht. Nun werden durch das GP diese beiden pages hin- und hergeschaltet. Dadurch blinkt dann der Cursor. Wenn du aber Grafik und Text mischen willst (z.B. Drawto) zeichnet der grafik-mode nur immer auf einer Page. Wenn du dann was einlesen willst dann blinkt nicht nur der cursor, sondern auch die grafik die du zuvor gezeichnet hast. D.h. entwender die Grafik auf beiden pages zeichnen (wie ich ich es bei meinen Spielen mache) oder NUR Text- oder NUR Grafikmode. Mischbetrieb ist schwierig. Wenn du Text an einer bestimmten Position ausgeben willst dann setz zuvor den Cursor auf diese Position mit gp_setcurxy und schreib den Text dann ganz normal mit iprintf. Dann ist auch der Cursor für die Eingabe an der richtigen Stelle |
Posts: 528 | Member since: May 2021 | IP address: not saved | |
|
redo Stammgast ![]() ![]() ID # 245 |
Posted on December 05, 2025 09:26 PM (#80)
Quote
PM E-mail HP
Hallo Andi, das Handbuch liegt vor und ich lese nach vorne und hinten darin. Leider verstehe ich wohl einige Zusammenhänge noch nicht. Deine Erläuterung hilft mir aber weiter. Besten Dank. Quereinstieg ohne tiefe Systemkenntnis braucht dann doch Zeit.
Ich baue das Ganze mal um und hole mir das Update zur Stubs. Das wird schon?ich mlede mich? VG Jürgen ----------------------- Nach vielen Jahren ging es mit dem NKC wieder los.... Sehr spannend! |
Posts: 239 | Member since: June 2025 | IP address: not saved |
| https://nkcforum.de | Board rules | Privacy policy
Tritanium Bulletin Board 1.8
© 2010–2021 Tritanium Scripts
Site created in 0.125581 seconds
Processed 17 files
gzip compression enabled
2506.40 KiB memory usage





Posted on November 18, 2025






