You are not logged in.

Dear visitor, welcome to Forum64. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Tuesday, May 8th 2012, 10:47am

Stm32F4-Discovery

Das STM32F4 Discovery ist auch ein nettes ARM Board, und es kostet bei Watterott nur knapp unter 17€! Wenn man es benötigt, gibt es ein freies Realtime OS für das Discovery: ChibiOS/RT

Die STM32 F4 serie ist eine high-performance MCUs mit DSP und FPU, also ein Cortex-M4. Der Programier/Debugging Adapter (ST-LINK/V2) ist bereits am Board integriert. Mit CooCox steht eine komfortable IDE + debugger zur Verfügung.

Die Leistungsdaten sind beeindruckend für eine 17€ Anschaffung:
  1. 168 MHz!!
  2. 1 MB Flash
  3. 192 KB RAM


Ich hab mal aus Spass meine alten 6502 Emulator Sourcen kompiliert. Ohne große Anpassungen läuft das Teil in einer vielfachen Geschwindigkeit einer 6502 CPU bei einem MHz. Vielleicht ein Zeichen, dass man das alte 1541-Emul Projekt nochmals anschauen sollte ... (1541-Emul mit STM32F4)



Unseen

Hätte gerne 'n Virtex 7 ;)

  • "Unseen" is male
  • »Unseen« is a verified user

Posts: 4,562

Date of registration: Jun 16th 2007

Location: Debara Hamtar

  • Send private message

member since 72 month member since 72 month member since 72 month member since 72 month

2

Tuesday, May 8th 2012, 11:04am

Ich hab mal aus Spass meine alten 6502 Emulator Sourcen kompiliert. Ohne große Anpassungen läuft das Teil in einer vielfachen Geschwindigkeit einer 6502 CPU bei einem MHz.

Welches Vielfache denn? Faktor zwei (gerundet) bekomme ich auf dem LPC1768 mit einem recht simpel gestrickten Emulator ohne nennenswerte Optimierungen IIRC auch hin. ;)

(ich habe seit Monaten zwei dieser Boards rumliegen, bin aber leider immer noch nicht dazu gekommen mal was damit zu machen)

Quellcode

1
2
3
10 x=rnd(-1963):fori=1to81:y=rnd(1):next
20 forj=1to5:printchr$(rnd(1)*16+70);:next
30 printint(rnd(1)*328)-217

sd2iec Homepage

3

Tuesday, May 8th 2012, 11:15am

Welches Vielfache denn? Faktor zwei (gerundet) bekomme ich auf dem LPC1768 mit einem recht simpel gestrickten Emulator ohne nennenswerte Optimierungen IIRC auch hin. ;)

Das hängt natürlich vom emulierten Maschinen Code ab. Simple Befehle wie INX und TXA werden Faktor 30 beschleunigt. Klar, unrealisitisch. Aber im Schnitt läuft der DOS-1541 Code immer noch mit Faktor 2,4. Ohne dass ich mich bemüht hätte, da groß was zu optimieren.

Richtig Taktgenau muss ja nur der Code im RAM sein. denn da liegen die beschleunigten BUS Routinen (Speeder Code). Ich denke mal, mit etwas tricksen könnte man es schaffen.

Zudem hat das Discovery die Möglichkeit, ein D64 Image im Speicher zu halten. Was ja gar nicht notwendig ist. Es würde ja schon reichen, eine ganze Spur von GCR Daten zu halten.

tycoon666

Trainee

Posts: 141

Date of registration: May 30th 2009

  • Send private message

member since 36 month member since 36 month

4

Tuesday, May 8th 2012, 5:29pm

Hab das Discovery Board auch hier. Hab auch zwischendurch nachgedacht ob man damit ne 1541 emulieren könnte.
Nix Sinnvolles passt!

5

Tuesday, May 8th 2012, 7:00pm

Hab auch zwischendurch nachgedacht ob man damit ne 1541 emulieren könnte.

Ich spiel mich mal damit. Wenn es geht, dann fehlt allerdings noch der Hardwareteil:
  • IEC Kabel Anschluss
  • SD Karten Anschluss



Das wäre ein nettes Projekt für einen Platinen Layouter. Passend zu den Stiftleisten des Discovery eine Platine darunter, die SD Kartenslot und zwei IEC Buchsen samt 5V Anpassung macht.

Die Krönung dieser Zusatzplatine wäre ein zusätzlicher Parallelport für Speed-DOS Anschluss.

Und wenn man dann immer noch Lust auf mehr hat, ein IEEE-488 Anschluss wäre natürlich endgenial. Dann könnte man auch noch die CBM Computer (PET, 4032, 8032) bedienen.

tycoon666

Trainee

Posts: 141

Date of registration: May 30th 2009

  • Send private message

member since 36 month member since 36 month

6

Wednesday, May 9th 2012, 6:19pm

In der Hardware sehe ich nicht so das Problem. SD-Karte hab ich zwecks Mp3-Player eh dran ( Freiluftverdratung ). Ist aber vorerst eh nicht so wichtig. Das Teil hat ja genügend Speicher um ein Image im Flash zu halten.
IEC könnte man nach Shadowolfs Transistor Schaltung vom sd2iec aufbauen. Zuerst auf Lochraster. Da einige Pins 5V tolerant sind kann man sich den Spannungsteiler auch noch sparen.
Die Software stelle ich mir allerdings schwierig vor. Hab noch nie einen Emulator programmiert.
Nix Sinnvolles passt!

  • "internium" is male

Posts: 4,482

Date of registration: Aug 30th 2008

Location: Berlin

  • Send private message

member since 54 month member since 54 month member since 54 month

7

Wednesday, May 9th 2012, 7:44pm

Nettes Teil, wäre schön wenigstens eine Alternative zur Ultimate zu haben, die nicht so teuer ist.

8

Wednesday, May 9th 2012, 8:14pm

Den Emu habe ich in ein paar Wochen fertig. Die Hardware sorgt mich mehr

  • "internium" is male

Posts: 4,482

Date of registration: Aug 30th 2008

Location: Berlin

  • Send private message

member since 54 month member since 54 month member since 54 month

9

Wednesday, May 9th 2012, 9:11pm

Hier sind doch einige unterwegs die bestimmt gute Hilfe dabei leisten können. Testen tue ich dann gerne mit, für alles andere reicht mein KnowHow nicht.

10

Thursday, May 10th 2012, 8:24am

Das ist gut, Tester werden immer benoetigt. Dazu benötigst du halt ein Discovery samt unserer Basteleien, falls es dazu kommt.


Die Schaltung vom Sd2iec? Funktioniert die nicht verkehrt? Atmel 5V, Anpassung an SD (3,3V).


Ich dachte eigentlich eher, ich nutze das arm2iec als Peripherie. LPC abziehen und draehte zum discovery?


Gesendet von meinem HTC One X mit Tapatalk 2

11

Thursday, May 10th 2012, 9:12am

Nettes Teil, wäre schön wenigstens eine Alternative zur Ultimate zu haben, die nicht so teuer ist.

Schön wäre, wenn es letztlich auf dem arm2iec laufen würde. Die Hardware beginnt langsam sich zu verbreiten und es gibt schon einen Standard.

Aber leider ist der LPC1768 viel langsamer. Erstens vom Takt her und zweitens, wegen der umständlcheren Adressierung des virtuellen Adressraumes (er hat nur 64K SRAM). Der Vorteil vom Discovery wird sein, dass man wirklich alles in C schaffen kann.

  • "internium" is male

Posts: 4,482

Date of registration: Aug 30th 2008

Location: Berlin

  • Send private message

member since 54 month member since 54 month member since 54 month

12

Thursday, May 10th 2012, 9:20am

Hört sich gut an, kannst mir ja dann eine Stückliste und den Schaltplan per PM schicken wenn es soweit ist.

Unseen

Hätte gerne 'n Virtex 7 ;)

  • "Unseen" is male
  • »Unseen« is a verified user

Posts: 4,562

Date of registration: Jun 16th 2007

Location: Debara Hamtar

  • Send private message

member since 72 month member since 72 month member since 72 month member since 72 month

13

Thursday, May 10th 2012, 10:38am

Schön wäre, wenn es letztlich auf dem arm2iec laufen würde. Die Hardware beginnt langsam sich zu verbreiten und es gibt schon einen Standard.

Wenn du jemals sd2iec auf dem Stapelkonstrukt sehen willst, sorg dafür dass die IEC-Signale alle via Hardwaretimer bedient und abgefragt werden können.

Quoted

Erstens vom Takt her und zweitens, wegen der umständlcheren Adressierung des virtuellen Adressraumes (er hat nur 64K SRAM).

Meinst du damit das in zwei 32K-Teile gesplittete SRAM? Die 192K des STM32F4 sind auch nicht einheitlich, 64K davon können ausschliesslich von der CPU und nicht von DMA-Peripherie angesprochen werden.

Quellcode

1
2
3
10 x=rnd(-1963):fori=1to81:y=rnd(1):next
20 forj=1to5:printchr$(rnd(1)*16+70);:next
30 printint(rnd(1)*328)-217

sd2iec Homepage

14

Thursday, May 10th 2012, 11:28am

Die Testhardware ist eigentlich dank arm2iec gar kein großes Problem!

Einfach eine Lochraster auf das arm2iec, und darauf das Discovery Modul. Quasi ein 3 fach Sandwich. Werde gleich noch eine arm2iec ohne LPC mit bestellen.


Wenn du jemals sd2iec auf dem Stapelkonstrukt sehen willst, sorg dafür dass die IEC-Signale alle via Hardwaretimer bedient und abgefragt werden können.

sd2iec am Discovery? Hab noch gar nicht an so etwas gedacht.

Das Ziel war eher umgekehrt. das 1541-Emul am LPC1768, also direkt am arm2iec. Schon mal sehr gut, dass alle IEC Anschlüsse am P1 liegen.


Meinst du damit das in zwei 32K-Teile gesplittete SRAM?

Ich dachte an eine möglichst einfache Adressdekodierung. Jeder einzelne Speicherzugriff der virtuellen CPU sollte möglichst simpel gehalten werden.

Unseen

Hätte gerne 'n Virtex 7 ;)

  • "Unseen" is male
  • »Unseen« is a verified user

Posts: 4,562

Date of registration: Jun 16th 2007

Location: Debara Hamtar

  • Send private message

member since 72 month member since 72 month member since 72 month member since 72 month

15

Thursday, May 10th 2012, 11:40am

Das Ziel war eher umgekehrt. das 1541-Emul am LPC1768, also direkt am arm2iec. Schon mal sehr gut, dass alle IEC Anschlüsse am P1 liegen.

Du willst du der existierenden, für den Job viel zu schnellen CPU noch eine zweite, noch etwas schnellere CPU dazupacken?

Quoted

Ich dachte an eine möglichst einfache Adressdekodierung. Jeder einzelne Speicherzugriff der virtuellen CPU sollte möglichst simpel gehalten werden.

Du musst sowieso I/O ausdecodieren und Schreibzugriffe auf die ROM-Bereiche verhindern, da nutzen 64K zusammenhängendes RAM nicht wirklich viel.

Quellcode

1
2
3
10 x=rnd(-1963):fori=1to81:y=rnd(1):next
20 forj=1to5:printchr$(rnd(1)*16+70);:next
30 printint(rnd(1)*328)-217

sd2iec Homepage

16

Thursday, May 10th 2012, 1:20pm

Das Ziel war eher umgekehrt. das 1541-Emul am LPC1768, also direkt am arm2iec. Schon mal sehr gut, dass alle IEC Anschlüsse am P1 liegen.

Du willst du der existierenden, für den Job viel zu schnellen CPU noch eine zweite, noch etwas schnellere CPU dazupacken?

Ne, zwei Unterschiedliche Ideen von mir:
  • mittelfristig wäre es wünschenswert, wenn die 1541-Emul Software auf einem standard arm2iec Board laufen würde
  • da meine Versuche zur Zeit auf ein Discovery abgestimmt sind, möchte ich das auch am Discovery weiter führen. Ich benötige aber SD Karte und IEC Port an meinem Discovery. Der UART ist auch super, dann kann ich den virtuellen USB wieder ausbauen.

    Deshalb hätte ich vor, das Discovery anstatt des LPC1768 zu verwenden, nicht dazupacken.


Da mich schon zwei Leute darauf angesprochen haben: Das Discovery könnte auch Laufwerksgeräusche ausgeben, die als MP3 gepeichert sind. Ich werde so etwas aber nicht implementieren!

tycoon666

Trainee

Posts: 141

Date of registration: May 30th 2009

  • Send private message

member since 36 month member since 36 month

17

Thursday, May 10th 2012, 9:10pm

Die Schaltung vom Sd2iec? Funktioniert die nicht verkehrt? Atmel 5V, Anpassung an SD (3,3V).
Siehe Schaltplan: http://www.mk-badharzburg.de/C64/sd2iec.html
Der Atmega läuft mit 3V und Hat eine Transistrschaltung am IEC Bus. Hab meinen SD2IEC auch so aufgebaut. Hab nur einen anderen Transistor benutzt.
Nix Sinnvolles passt!

skoe

macht komische Sachen

  • "skoe" is male
  • »skoe« is a verified user

Posts: 2,034

Date of registration: Nov 12th 2003

Location: Berlin

  • Send private message

member since 108 month member since 108 month member since 108 month member since 108 month member since 108 month member since 108 month

18

Thursday, May 10th 2012, 9:53pm

Viel Erfolg, Diddl!

(Falls Du irgendwas von mir recyclen willst, kannst Du Dich auch gern an meiner schlafenden open1541 bedienen. Immerhin lief/läuft z.B. der AR-Loader und ein paar Demos drauf --- mhh, aber wahrscheinlich ist selbst schreiben einfacher :) )
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Vergiss BASIC und lern C! C lernen mit cc65 und C64
Bau Dir ein eigenes Modul! EasyFlash

  • "internium" is male

Posts: 4,482

Date of registration: Aug 30th 2008

Location: Berlin

  • Send private message

member since 54 month member since 54 month member since 54 month

19

Thursday, May 10th 2012, 9:58pm

Mir ist das im Moment zu teuer zum testen, ich will erst mal meinen Ersatz 64er zusammen haben. Ich bin sehr gespannt auf die Fortschritte in dem Projekt, schon einen Namen ausgedacht?

20

Friday, May 11th 2012, 9:14am

Viel Erfolg, Diddl!

Danke Skoe.

Du bist deiner Zeit um Jahre voraus gewesen. Deine Vision war immer schon ein ARM, wo ich noch gar nicht wusste wie man ARM buchstabiert.



schon einen Namen ausgedacht?

Noch gibts ja kein Projekt, mehr so eine Machbarkeitsstudie. Aber der Name ist seit jahren klar: 1541-Emul