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



Autor Thema: Dateiaustausch PC <--> NKC68k
Creep
Voll in Gange
***
ID # 169


  Erstellt am 28. März 2021 18:10 (#21)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Das war dann ein(1) Grund, warum es nicht gehen konnte. Ich hab sie auf 00h eingestellt. Zum Testen hab ich mit Steffens IOE-Servicekarte auf $00 einen Wert ausgegeben, der dann auf dem Hex-Diskplay erschien und einen Wert von $00 eingelesen, der dann auch mit dem DIP-Setting übereinstimmte. Also IOE scheint richtig auf $00 gejumpert zu sein, Lesen/Schreiben funktioniert.

Die Verbindungen hab ich mit dem Schaltplan nochmal verglichen und keinen Fehler festgestellt. Ich kann ja auch nochmal ein Bild machen. Also entweder paßt das Modul nicht, ist die Karte inkompatibel oder das Image nicht richtig drauf (mit zwei verschiedenen Imageprogrammen geschrieben).

Würde es was bringen, die MTools per Diskimage unter Jados zu starten? Würden die evtl. aussagekräftigere Fehlermeldungen bringen?

Gruß, Rene

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


  Erstellt am 28. März 2021 18:22 (#22)  |  Zitat Zitat   PN PN   E-Mail E-Mail



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


  Erstellt am 28. März 2021 18:53 (#23)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin nochmal,

ich glaube du hast MISO und MOSI vertauscht.

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

Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: nicht gespeichert
Creep
Voll in Gange
***
ID # 169


  Erstellt am 28. März 2021 19:03 (#24)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Du bist mein Held! Es läuft!

Das sind die Fehler, die ich gern auch beim 10 Mal übersehe.

Gruß, Rene

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


  Erstellt am 28. März 2021 19:06 (#25)  |  Zitat Zitat   PN PN   E-Mail E-Mail
SUPER!

Auf Laufwerk M: solltest du auch die MTOOLS haben :)

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

Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: nicht gespeichert
Creep
Voll in Gange
***
ID # 169


  Erstellt am 28. März 2021 19:24 (#26)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Dann muß ich nur noch den 2. Slot zum Datenaustausch einlöten. Toll, quasi ein Festplattensystem für 68k. Davon hab ich heute morgen noch nichtmal geträumt. :)

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


  Erstellt am 28. März 2021 19:41 (#27)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Tja, das hab ich schon seit 2007 :D

Leider ist es mit der IOE recht langsam, aber mit der GDP-FPGA geht die Post ab.

Übrigens für die MTOOLS mal die zugehörige README.TXT lesen ;)

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

Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: nicht gespeichert
Creep
Voll in Gange
***
ID # 169


  Erstellt am 28. März 2021 19:56 (#28)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Ich werde mir das alles noch genau ansehen. Nach dem Z80 wird jetzt der 68k etwas mehr Priorität bekommen. Für mich aus der ATARI-Ecke eigentlich logisch.

Könnte man eigentlich auch das IDE-Interface vom CD-Player

https://hschuetz.selfhost.eu/ndr/hardware/neu/mspeicher/cdrom/index.html

irgendwie als Massenspeicher mit CF-Karte einbinden?

Ansonsten seh ich mal zu, daß ich das GIDE aufbaue. Halb hatte ich das ja schonmal.

Gruß, Rene

Beiträge: 651 | Mitglied seit: Januar 2017 | IP-Adresse: nicht gespeichert
netmercer
Kennt sich schon aus
**
ID # 176


  Erstellt am 28. März 2021 21:34 (#29)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo Rene,

mir geht es genauso, habe den NKC 68K8 die letzten Monate auch schleifen lassen und stattdessen mit alten Macs rumgespielt.
Jetzt habe ich mich wieder auf den NKC besonnen und heute die SER2 in Betrieb genommen, die Du mir freundlicherweise kürzlich zugeschickt hast. Hierzu hatte ich mir einen XR88C681CP40 aus China kommen lassen, der auch einwandfrei funktioniert. Allerdings fehlt auf der SER2 eine Verbindung zum INT Anschluss des NKC-Bus für den 40-poligen DUART. Ein kurzes Stück Draht zwischen Pin 15 der 28-poligen Fassung zu Pin 21 der 40-poligen Fassung löst das Problem.
Aber eigentlich wollte ich berichten, daß ich bereits vor circa einem Jahr eine CF-Karte über das IDE-Interface für den CD-Player an den NKC angeschlossen und die grundsätzliche Funktion geprüft habe. Sträflicherweise habe ich bis jetzt nicht weiter daran gearbeitet, um die Anbindung an CP/M-68K umzusetzen. Das soll sich jetzt ändern...

Viele Grüße
Bernhard

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


  Erstellt am 28. März 2021 22:57 (#30)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo Bernhard,

das klingt ja sehr interessant. Die Platine habe ich schon eine Weile aufgebaut aber noch nicht getestet. Wenn man so ein CF als (vielleicht sogar schnellen) Massenspeicher verwenden könnte, wär das eine schöne Lösung.

Ja, ich hab die letzten Wochen/Monate mal den doch recht suboptimalen RC2014 aufgebaut. Vor allem, weil es für den einige recht interessante Karten gibt, und man vielleicht mal eine Buskopplung basteln könnte. Ansonsten haben mir noch TI99/4a, Sinclair QL und ATARI TT die Zeit geraubt. Aber irgendwie komme ich doch immer wieder zum NKC zurück...

Gruß, Rene

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


  Erstellt am 30. März 2021 20:41 (#31)  |  Zitat Zitat   PN PN   E-Mail E-Mail
So, zweites SD-Modul auch noch eingelötet - Datenaustausch mit dem PC funktioniert.

Jetzt konnte ich ENDLICH auch mal Shamus und Space Invaders laden. Muß nur noch mein Joystickinterface anpassen.

Dann werd ich mal über Ostern (und die Woche Urlaub) zur Abwechslung ein NKC-68008 System mitnehmen und mich auch dort mal mit der Assemblerprogrammierung beschäftigen.

Ach ja, der 68000 lief letztens mit einer 16MHz CPU tatsächlich mit vollen 16MHz ohne Abstürze. Hab allerdings auch nicht so intensiv getestet. Der 68010 lief prinzipiell auch. Aber da muß ich mal testen, ob der wirklich ein echter ist - stammt halt aus China.

Gruß, Rene

Beiträge: 651 | Mitglied seit: Januar 2017 | IP-Adresse: nicht gespeichert
smed
Stammgast
**
ID # 114


  Erstellt am 31. März 2021 23:08 (#32)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Freue mich ueber den zweiten Shamus und Space Invaders gamer :)

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.

NKC - OpenSource since 1983

Beiträge: 182 | Mitglied seit: Januar 2011 | IP-Adresse: nicht gespeichert
smed
Stammgast
**
ID # 114


  Erstellt am 31. März 2021 23:27 (#33)  |  Zitat Zitat   PN PN   E-Mail E-Mail
>mich auch dort mal mit der Assemblerprogrammierung beschäftigen.

Mein gut gemeinter Rat unter NKC Veteranen - mach den Schritt zu C auf dem 68k NKC. Ich benutzte den nackten gnu gcc 68k cross compiler, ohne die üblichen C libraries - also alles überschaubar und easy - der Compiler ist also nur eine Art super-makroassembler, ich schaue mir sogar öfters mal den erzeugten Assembler code an - was sehr unterhaltsam ist. Programmieren bleibt natürlich immer noch sehr NKC system-nah aber eben geht alles leichter. Shamus in Assembler - wäre fuer mich die Hölle - in C hats SUPER Spass gemacht. Inline Assembler ist natuerlich auch in gcc vorhanden.

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.

NKC - OpenSource since 1983

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


  Erstellt am 01. April 2021 09:33 (#34)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Ja, C ist auf jeden Fall auch mein Ziel. Allein schon, weil ich im Job ja auch seit inzwischen Jahrzehnten in C programmiere. Ein paar Libs bzw. Funktionen für Grafik- oder Soundroutinen wird man sich ja sowieso erstellen.

Falls Du da vielleicht ein kleines compilierbares "Hello World" für mich hättest, auf dem ich dann mit der Tool-Chain aufsetzen könnte, würde ich da gleich mal anfangen.

Gruß, Rene

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


  Erstellt am 01. April 2021 11:09 (#35)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Moin,

also C wäre auch für mich die Krönung. Ich hab zwar schon diverse Programme in C geschrieben, aber ich kenn mich leider (noch) nicht mit Compilern, C-Lib, Toolchains und Co. aus :(

Da wäre mir jegliche Hilfe willkommen!

Bei dem Compiler von Torsten fand ich es sehr unschön, das selbst kleinste Progeamme schon über 100kB hatten. Das finde ich für unsere alten Kisten ein bisschen viel...

Andi (Andreas Voggeneder) der auch die GDP-FPGA entwickelt hat, hat es damals (2007) hinbekommen auch kleine Programme zu produzieren, ich hab alledings keine Ahnung mehr wie das ging.

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

Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: nicht gespeichert
Creep
Voll in Gange
***
ID # 169


  Erstellt am 01. April 2021 13:46 (#36)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Ja, im Prinzip kann man auch mit einem C-Compiler sehr schlanken Code entwickeln. Gerade mit den modernen, die besser optimieren als man selber. Man muß sie eigentlich nur richtig konfiguerieren, daß alles an unbenutzten Libs, bzw. auch unbenutzte Funktionen von benutzten Libs nicht dazugelinkt werden.
Ich hatte ja mit dem CC65 mal einen rudimentären Test gemacht, da kamen am Ende auch nur ein paar Bytes raus. Ich brauch mehr Zeit und weniger Projekte parallel!!!!

Beiträge: 651 | Mitglied seit: Januar 2017 | IP-Adresse: nicht gespeichert
smed
Stammgast
**
ID # 114


  Erstellt am 01. April 2021 18:52 (#37)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo
ich linke keine libraries und kein ELF startup Kram und sowas (absolut nix) ins executable.

void start() {
}

kompiliert zu 2 bytes: $4e75 das ist RTS. Laueft ohne Problem auf dem NKC :D

Der gcc ist ein Monster und ich hatte keine Lust (null) auf Konfigurationsorgien. Es ging aber letztendlich VIEL einfacher als befuerchtet. Unten mein batch file (kein Bock auf 'make') um ein NKC fertiges relokatives binary mit voller Optimierung zu erzeugen. Es enthaelt kein byte overhead vom gcc compiler. Das file .ass enthaelt schoen formatierten assembler code, da kann man der Optimierung auf die Finger schauen - sehr interessant, und manchmal sieht man das es eigenlich noch besser ginge. Ein Linkerscript brauchst du auch, habe ich unten dazugestellt.

Ubrigens, malloc(), etc geht NICHT. Brauche ich auch fuer game programming nicht. Ist aber im Prinzip konfigurierbar.

http://www.aaldert.com/outrun/ hat die beste 68k toolchain fuer Win10. Shamus und SpaceInvaders sind damit gemacht. Schau' einfach in meine Posts in diesem Forum, habe schon oefters ueber mein setup berichtet, allerdings ohne Resonanz so dass ich mich jetzt vom NKC in Richung Arduino & Co verabschiedet habe.

Gruss
smed



@cls
@echo off
REM C:\SysGCC\m68k-elf\bin\m68k-elf-gcc -std=gnu99 -t -save-temps -mc68000 -mpcrel -fno-aggressive-loop-optimizations -fomit-frame-pointer -nostartfiles -Wno-attributes -T ram.ld -fverbose-asm -Wa,--w,--listing-lhs-width=5,--pcrel,--disp-size-default-16,-aghls=file.asm,--noexecstack file.c -O3 -lm
m68k-elf-gcc -std=gnu99 -t -save-temps -mc68000 -mpcrel -fomit-frame-pointer -nostartfiles -Wno-attributes -T ram.ld -Wa,--w,--pcrel,-acdhls=file.asm,--noexecstack file.c -O3 -lm

m68k-elf-strip --input-target=elf32-m68k --output-target=symbolsrec -o file.s19 a.out
m68k-elf-objcopy --input-target=srec --output-target=binary file.s19 file.m68
m68k-elf-objdump -d a.out > file.ass
m68k-elf-objdump -h a.out > file.mem

REM -static -ffreestanding -Wclobbered -fconserve-stack -register-prefix-optional,
REM -Ttext=0x0 -Tdata=0x3000 -Tbss=0x3200



---- snip


/* Exampe likersript: http://www.hertaville.com/a-sample-linker-script.html */

GROUP(-lbcc -lc -lgcc)

MEMORY {
/* gp : ORIGIN = 0x000000, LENGTH = 0x010000 64 kB GP */
GP_ram : ORIGIN = 0x010000, LENGTH = 0x400 /* 1kB GP ram */
ram : ORIGIN = 0x000000, LENGTH = 0xFFFFF /* 1MB */
}


SECTIONS {

.text : {
_text_sta = . ;
*(.text)
_text_end = ALIGN(0x2) ;
} > ram

.interrupt : {
_int_handler_sta = . ;
*(.int)
_int_end = ALIGN(0x2) ;
} > ram

.data : {
_data_sta = . ;
*(.data)
_data_end = ALIGN(0x2) ;
} > ram

.bss : {
_bss_sta = . ;
*(.bss)
*(COMMON)
_bss_end = ALIGN(0x2);
} > ram
_end = .;

}

-----------------------
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.

NKC - OpenSource since 1983

Beiträge: 182 | Mitglied seit: Januar 2011 | IP-Adresse: nicht gespeichert
smed
Stammgast
**
ID # 114


  Erstellt am 01. April 2021 20:01 (#38)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Ich habe unmengen von Tipps & Ticks in Sachen C fuer NKC, wo anfangen? Hier ein Paar snippets von den komplizierten Sachen und Hello World...viel Erfolg...


//so kommt ein NKC bibliothek header ins binary, muss ganz am Anfang des C files stehen ! m68k binary auf PC mit dem Program HxD checken
__asm__("dc.b 0x55, 0xAA, 0x01, 0x80");
__asm__("dc.b 'S', 'H', 'A', 'M', 'U', 'S', 'V', '1' ");
__asm__("dc.l _start"); //
__asm__("dc.l _bss_end");//from likerscript
__asm__("dc.b 0x01");
__asm__("dc.b 0x01");
__asm__("dc.b 0x00, 0x00");
__asm__("dc.l 0x00");

//so sehen libaries fuer NKC Hardware aus wenn man die
//Hardware direkt ansperechen will und nicht ueber das GP

#define BYTE_AT(adr) (*(unsigned char volatile *) adr)
#define WORD_AT(adr) (*(unsigned short volatile *) adr)
#define LONG_AT(adr) (*(unsigned long volatile *) adr)

#define GDP_CMD_REG BYTE_AT(0xFFFFFF70)
#define GDP_CTRL1_REG BYTE_AT(0xFFFFFF71)
#define GDP_CTRL2_REG BYTE_AT(0xFFFFFF72)
#define GDP_CSIZE_REG BYTE_AT(0xFFFFFF73)

#define GDP_DELTAX_REG BYTE_AT(0xFFFFFF75)
#define GDP_DELTAY_REG BYTE_AT(0xFFFFFF77)

#define GDP_X_MSB_REG BYTE_AT(0xFFFFFF78)
#define GDP_X_LSB_REG BYTE_AT(0xFFFFFF79)

#define GDP_Y_MSB_REG BYTE_AT(0xFFFFFF7A)
#define GDP_Y_LSB_REG BYTE_AT(0xFFFFFF7B)

#define GDP_PAGE_REG BYTE_AT(0xFFFFFF60)

#define KEY_REG BYTE_AT(0xFFFFFF68)
#define KEY_PORT_REG BYTE_AT(0xFFFFFF69)
#define STROBE 0b10000000

#define IOE_PORTA BYTE_AT(0xFFFFFF30)
#define IOE_PORTB BYTE_AT(0xFFFFFF31)

//defined in linkerscript ram.ld
extern int _bss_sta, _bss_end;
extern int _text_sta, _text_end;
extern int _data_sta, _data_end;
extern int _int_handler_sta; //location of interrupt handler

//nur fuer 68000
#define GDP_WAIT() __asm__ volatile ("dc.w 0x0839, 0x0002, 0xFFFF, 0xFF70, 0x67F6"); /* wait: btst.b #$02, $FFFFFF70.l beq.s wait */

void __attribute__ ((inline)) CMD(byte val) {
GDP_WAIT();
GDP_CMD_REG = val;
}

void __attribute__ ((inline)) GDP_CLS() {
CMD(0x06);
}

void __attribute__ ((inline)) GDP_MOVETO(word x, word y) {

GDP_WAIT();
GDP_X_LSB_REG = x;
GDP_WAIT();
GDP_X_MSB_REG = (x >> 8);
GDP_WAIT();
GDP_Y_LSB_REG = y;
GDP_WAIT();
GDP_Y_MSB_REG = (y >> 8);
}

void CMDPRINT3(word x, word y, const byte *arrayPtr) {

int i=0;

GDP_MOVETO(x, y);

while (arrayPtr[i] != 0x00) {
CMD(arrayPtr[i++]);
}
}

//so, nun Hello world...

byte line[25] = { "Hello world" };
CMDPRINT3(100, 100, (byte*)&line);

-----------------------
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.

NKC - OpenSource since 1983

Beiträge: 182 | Mitglied seit: Januar 2011 | IP-Adresse: nicht gespeichert
DerInder
Fast schon Admin
Seitenadmins
***
ID # 2


  Erstellt am 02. April 2021 00:23 (#39)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Moin,

schon mal Vielen Dank :)

Ich hab den gcc zum laufen gebracht!

Hast du evtl. noch ein Tip wie man GP-Aufrufe am einfachsten programmiert (mit den Daten für die jeweiligen Register).

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

Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: nicht gespeichert
Creep
Voll in Gange
***
ID # 169


  Erstellt am 02. April 2021 09:41 (#40)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Super, danke! Hat mir keine Ruhe gelassen, und ich mußte grad noch im Bett bei der Morgenmilch mal den GCC runterladen, installieren und den Minimaltest machen. - Läuft! :)

Jetzt Frühstück, Packen, Fahrt Richtung Berlin (dabei noch einen NEC P20 einsammeln) und dann weiter!

Beiträge: 651 | Mitglied seit: Januar 2017 | IP-Adresse: nicht gespeichert



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


Tritanium Bulletin Board 1.8
© 2010–2021 Tritanium Scripts


Seite in 0,024862 Sekunden erstellt
18 Dateien verarbeitet
gzip Komprimierung eingeschaltet
1479,40 KiB Speichernutzung