Autor Thema: Portfolio Hardware Programmierung  (Gelesen 1294 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline ZX-Chris

  • Benutzer
  • Beiträge: 13
Portfolio Hardware Programmierung
« am: Sa 11.07.2020, 15:50:13 »
Hallo,
ich hab mich hier mal angemeldet, weil hier noch eine aktive PoFo-Gemeinde ist, die genauso fasziniert ist, wie ich von diesem kleinen Wundergerät. Ich stelle mich mal kurz vor: Mein Name ist Christoph und ich studiere Mathematik und Informatik. Eigentlich komme ich aus der 8bit Ecke und bin begeisterter ZX-ler für Sinclair Maschinen. Kenne mich einigermaßen mit Z80 Programmierung aus und hab auch schon einige Spiele für den Sinclair ZX81 programmiert. Aber der Portfolio ist neben dem Amiga meine 16-bit Leidenschaft.  8)
Ich wollte hier in diesem Thread also einmal fragen, ob es konkret möglich ist, über den Parallelport zum Beispiel simple LED-Schaltungen zu realisieren, um ein wenig zu experimentieren. Die Ports würde ich über PowerBASIC ansteuern, in der Sprache kenne ich mich relativ gut aus.
Gibt es da einfache Wege?
LG Christoph

Offline mfro

  • Benutzer
  • Beiträge: 1.448
Re: Portfolio Hardware Programmierung
« Antwort #1 am: Sa 11.07.2020, 17:13:19 »
Natürlich. Da ist ein "ganz normales" DOS drauf, das auch MS/DOS Interrupts versteht.

Konkret: INT21h, Funktion 5 schreibt Zeichen auf den Parallelport.
And remember: Beethoven wrote his first symphony in C

Offline ZX-Chris

  • Benutzer
  • Beiträge: 13
Re: Portfolio Hardware Programmierung
« Antwort #2 am: Sa 11.07.2020, 20:07:32 »
Ah ok und wie genau würde ich so eine Schaltung realisieren und wie kann ich das z.B. in einer Sprache Programmieren?
Danke schonmal für die Antwort vorher :)

Offline gh-baden

  • Benutzer
  • Beiträge: 1.388
Re: Portfolio Hardware Programmierung
« Antwort #3 am: So 12.07.2020, 00:40:31 »
Ah ok und wie genau würde ich so eine Schaltung realisieren und wie kann ich das z.B. in einer Sprache Programmieren?
Danke schonmal für die Antwort vorher :)

PPIN - Parallel-Port-Pins. Den Linux-Teil überspringst du, unten ist eine simple Schaltung zu sehen. Lasten darfst du an die Ausgänge natürlich nicht hängen, da muss dann ein Relais oder was mit mehr Bumpf dazwischen.
Wider dem Signaturspam!

Offline czietz

  • Benutzer
  • Beiträge: 2.512
Re: Portfolio Hardware Programmierung
« Antwort #4 am: So 12.07.2020, 10:12:04 »
Eventuell auch interessant: https://web.archive.org/web/20040921100758/http://www.beyondlogic.org/spp/parallel.pdf

Unter DOS würde ich direkt auf die Portadressen zugreifen. Die Programmiersprache Deiner Wahl wird vermutlich einen Befehl haben, um auf I/O-Ports zu schreiben. Das Byte, dass Du auf die Portadresse des Parallelports schreibst (typischerweise Adresse 0x378 oder 0x3BC, wobei ich nicht weiß, was auf den Portfolio gilt), erscheint an den 8 Datenleitungen des Ports.

Um größere Lasten damit zu treiben, habe ich in der Vergangenheit den ULN2803 verwendet.

Offline SolderGirl

  • Benutzer
  • Beiträge: 446
Re: Portfolio Hardware Programmierung
« Antwort #5 am: So 12.07.2020, 10:19:04 »
Du könntest auch "Portfolio BASIC" versuchen.
Zu finden (u.a.) auf meinem Google-Drive

Das ist speziell für den Portfolio entwickelt und hat ein paar spezielle Befehle.
Komplette Referenz ist auch dabei.
{PoFo 512kb RAM, 6,5 MHz, CF-Slot, 1MB SRAM Disk}
{520 STm 4MB, 2x CF-Cards, 2x HD-Floppy}
{Mega ST1 4MB, PAK68/2, µEiffel, VoFa ET4000}

Offline ZX-Chris

  • Benutzer
  • Beiträge: 13
Re: Portfolio Hardware Programmierung
« Antwort #6 am: So 12.07.2020, 19:51:22 »
Danke für eure Tips, ich werde mal in der kommenden Zeit mir Gedanken machen und schauen, was sich da basteln lässt. Ich muss ja erst einmal die Technik verstehen, ehe ich etwas wirklich komplexes basteln kann. Mein großes Ziel ist es ja, ein ZX81 Ladeprogramm auf dem Pofo zu entwickeln, das mir geschriebene Programme als Töne für den Ear-Port abspielt, sodass der ZX sie laden kann.

Ich würde dann z.B. tatsächlich am Parallelport ein Datenbit 1 schreiben, damit da "Strom" kommt, 100kOhm Wiederstand und ne LED davor und dann mal schauen, was passiert :D
LG Christoph

Offline gh-baden

  • Benutzer
  • Beiträge: 1.388
Re: Portfolio Hardware Programmierung
« Antwort #7 am: So 12.07.2020, 23:00:43 »
Danke für eure Tips, ich werde mal in der kommenden Zeit mir Gedanken machen und schauen, was sich da basteln lässt. Ich muss ja erst einmal die Technik verstehen, ehe ich etwas wirklich komplexes basteln kann. Mein großes Ziel ist es ja, ein ZX81 Ladeprogramm auf dem Pofo zu entwickeln, das mir geschriebene Programme als Töne für den Ear-Port abspielt, sodass der ZX sie laden kann.

Ich würde dann z.B. tatsächlich am Parallelport ein Datenbit 1 schreiben, damit da "Strom" kommt, 100kOhm Wiederstand und ne LED davor und dann mal schauen, was passiert :D
LG Christoph

Aah, du willst Tonfolgen modulieren? Dann vielleicht eine „Soundkarte für LPT“ angucken. Wobei ich nicht weiß, ob die Treiber auch mit 8088 tun.
Wider dem Signaturspam!

Offline Ektus

  • Benutzer
  • Beiträge: 839
Re: Portfolio Hardware Programmierung
« Antwort #8 am: Mo 13.07.2020, 20:15:01 »
Soundausgabe am Druckeranschluß hatten wir doch gerade erst - da: https://forum.atari-home.de/index.php/topic,15937.msg249514.html#msg249514
Zwar am ST und nicht am Portfolio, aber vom Prinzip her sollte das auch funktionieren, vorausgesetzt, die Ausgänge verkraften die Last.

Offline KarlMüller

  • Benutzer
  • Beiträge: 337
Re: Portfolio Hardware Programmierung
« Antwort #9 am: Mo 13.07.2020, 20:41:57 »
Dann vielleicht eine „Soundkarte für LPT“ angucken.
Ist das nicht zu umständlich?

Die Adressverwaltung kann z.B. über den internen Lautsprecher wählen. Für den Tongenerator gibt es einige Bios Funktionen Int 61H Fn 15H bis 18H.

Offline SolderGirl

  • Benutzer
  • Beiträge: 446
Re: Portfolio Hardware Programmierung
« Antwort #10 am: Di 14.07.2020, 17:07:10 »
Dann vielleicht eine „Soundkarte für LPT“ angucken.
Ist das nicht zu umständlich?

Die Adressverwaltung kann z.B. über den internen Lautsprecher wählen. Für den Tongenerator gibt es einige Bios Funktionen Int 61H Fn 15H bis 18H.

Ich technischen Handbuch stehen die Frequenzen, die man mit dem integrierten Soundchip erzeugen kann. Wäre halt die Frage, ob da zufällig passende dabei sind um einen akzeptablen Datenstrom zu erzeugen. Und dann müsste man entweder einen Anschluss in den Portfolio einbauen, oder ein Mikrofon am ZX anschließen.
Allerdings, wenn das klappt wäre es ziemlich cool. Besonders mit Mikrofon und dem Pofo Lautsprecher. Das wäre dann echte drahtlose Datenübertragung, 80'er Style.
{PoFo 512kb RAM, 6,5 MHz, CF-Slot, 1MB SRAM Disk}
{520 STm 4MB, 2x CF-Cards, 2x HD-Floppy}
{Mega ST1 4MB, PAK68/2, µEiffel, VoFa ET4000}

Offline ZX-Chris

  • Benutzer
  • Beiträge: 13
Re: Portfolio Hardware Programmierung
« Antwort #11 am: Do 16.07.2020, 14:36:38 »
Hallo SoldierGirl,
an sich nimmt der ZX ja die Töne nur als 0 und 1 auf, und die Frequenzen sind mir auch bekannt, die man dafür braucht, es liegt nur an der Übertragung, der Lautstärke und der Frequenz der Baud-Raten, die ist beim ZX81 ziemlich gering und er ist auch sehr empfindlich, was das Laden angeht...
LG Christoph

Offline SolderGirl

  • Benutzer
  • Beiträge: 446
Re: Portfolio Hardware Programmierung
« Antwort #12 am: Do 16.07.2020, 17:57:14 »
Hallo SoldierGirl,
an sich nimmt der ZX ja die Töne nur als 0 und 1 auf, und die Frequenzen sind mir auch bekannt, die man dafür braucht, es liegt nur an der Übertragung, der Lautstärke und der Frequenz der Baud-Raten, die ist beim ZX81 ziemlich gering und er ist auch sehr empfindlich, was das Laden angeht...
LG Christoph

Vom PoFo-Wiki:
Zitat
Fn 16H Melodie Tongenerator (siehe Abschnitt 2.1.5)

Parameter: AH   16H
           CX   Länge des Tons in Zehntel-Sekunden-Schritten
           DL   Tone-Code (siehe unten)
           30H        D#5      622,3 Hz
           31H        E5       659,3 Hz
           32H        F5       698,5 Hz
           33H        F#5      740,0 Hz
           34H        G5       784,0 Hz
           35H        G#5      830,6 Hz
           36H        A5       880,0 Hz
           37H        A#5      932,3 Hz
           38H        B5       987,8 Hz
           39H        C6      1046,5 Hz
           3AH        C#6     1108,7 Hz
           29H        D6      1174,7 Hz
           3BH        D#6     1244,5 Hz
           3CH        E6      1318,5 Hz
           3DH        F6      1396,9 Hz
           0EH        F#6     1480,0 Hz
           3EH        G6      1568,0 Hz
           2CH        G#6     1661,2 Hz
           3FH        A6      1760,0 Hz
           04H        A#6     1864,7 Hz
           05H        B6      1975,5 Hz
           25H        C7      2093,0 Hz
           2FH        C#7     2217,5 Hz
           06H        D7      2349,3 Hz
           07H        D#7     2489,0 Hz
Rückgabe: keine.
{PoFo 512kb RAM, 6,5 MHz, CF-Slot, 1MB SRAM Disk}
{520 STm 4MB, 2x CF-Cards, 2x HD-Floppy}
{Mega ST1 4MB, PAK68/2, µEiffel, VoFa ET4000}

Offline Chocco

  • Benutzer
  • Beiträge: 116
  • May the force be with you
Re: Portfolio Hardware Programmierung
« Antwort #13 am: Fr 17.07.2020, 00:21:50 »
Soweit ich mich erinnere, war der einzig definierte Ton, der Carrier vor dem Header und dem Datenteil. Dieser Carrier lag bei IMO ca. 800Hz. Das "Prasseln" der Daten-Bits ist ist in diesem Sinne kein Ton, sondern ergibt sich aus dem Datenstrom und dem Carrier. Mit dem Melodie Tongenerator wird man dabei nicht weit kommen.

Ob nun eine "0" oder eine "1" übertragen wurde, konnte anhand des Carrier ermittelt werden. Jedenfalls musste im passenden Moment auf steigende Flanke reagiert werden, um eine "1" zu erkennen. Andernfalls war es eine "0".

Wenn man die Rechteckwellen nicht selbst erzeugen möchte, wird man um eine Art "Soundkarte" nicht herumkommen. Dafür gäbe es dann aber auch eine Reihe von Software, mit der sich ein Welle erzeugen lässt https://github.com/leiradel/tape2wav

Vielleicht könnte man an den Expansion Port des Pofo einen Lautsprecher anklemmen und die Membrane über out-Befehle passend schwingen lassen? Der Spectrum hat es schließlich ähnlich gemacht  :D

 



Atari TT030 mit CrazyDots
Milan 040 (S3)
Apple MBP

Offline Arthur

  • Benutzer
  • Beiträge: 9.212
  • Mein Atari erinnert mich an die gute alte Zeit..
Re: Portfolio Hardware Programmierung
« Antwort #14 am: Fr 17.07.2020, 14:44:21 »
@Chocco, wenn jetzt der Recorder nicht zum Zuge kommt... als kein Tonkopf etc. sondern direkt das digitale Signal per Kabel angeschlossen wird... da ändert sich nicht daran? Trotzdem wird noch ein Trägersignal etc. benötigt?

Offline Chocco

  • Benutzer
  • Beiträge: 116
  • May the force be with you
Re: Portfolio Hardware Programmierung
« Antwort #15 am: Fr 17.07.2020, 17:49:53 »
@Chocco, ... Trotzdem wird noch ein Trägersignal etc. benötigt?

Ja, die Laderoutine im Spectrum benötigt den Träger. Das Prinzip ist hier ganz gut beschrieben https://faqwiki.zxnet.co.uk/wiki/Spectrum_tape_interface
Atari TT030 mit CrazyDots
Milan 040 (S3)
Apple MBP

Offline SolderGirl

  • Benutzer
  • Beiträge: 446
Re: Portfolio Hardware Programmierung
« Antwort #16 am: Fr 17.07.2020, 20:19:53 »
Ich hab vielleicht was interessantes gefunden:

http://www.8bit-wiki.de/8bitdb.html?&no_cache=1&tx_coolautoindex_pi1=8409666000000dir.Sinclair%2FZX81%2Fsoftware%2FPC-Tools%2F&cHash=ed9b1e19d5b0f2b444e7db40d7637c58

Da gibt es eine "zxtape.zip". ZXtape macht wohl genau das, es emuliert ein Tape mit einem parallel Port eines DOS PC. Ob das direkt so auf dem Portfolio läuft ist fraglich, aber wenigstens is die C Source dabei. Das könnte als Ausgangspunkt dienen.
{PoFo 512kb RAM, 6,5 MHz, CF-Slot, 1MB SRAM Disk}
{520 STm 4MB, 2x CF-Cards, 2x HD-Floppy}
{Mega ST1 4MB, PAK68/2, µEiffel, VoFa ET4000}

Offline ZX-Chris

  • Benutzer
  • Beiträge: 13
Re: Portfolio Hardware Programmierung
« Antwort #17 am: Fr 17.07.2020, 22:02:40 »
Ja klasse!
Da schau ich mal rein, ob sich da was schustern lässt. An sich sind die ZX-Laderoutinen nicht wirklich komplex, waren ja nur 8kb ROM da... beim Zeddy jedenfalls. Ich werde mal analysieren wie das Programm funktioniert. Sollte es nicht funktionieren, muss ich mir meine eigene Software Lösung zusammenfummeln.
LG Christoph

Offline Arthur

  • Benutzer
  • Beiträge: 9.212
  • Mein Atari erinnert mich an die gute alte Zeit..
Re: Portfolio Hardware Programmierung
« Antwort #18 am: Fr 17.07.2020, 22:05:05 »
Ja, die Laderoutine im Spectrum benötigt den Träger. Das Prinzip ist hier ganz gut beschrieben https://faqwiki.zxnet.co.uk/wiki/Spectrum_tape_interface

Danke

Offline Arthur

  • Benutzer
  • Beiträge: 9.212
  • Mein Atari erinnert mich an die gute alte Zeit..
Re: Portfolio Hardware Programmierung
« Antwort #19 am: Fr 17.07.2020, 22:08:46 »
Ja klasse!
Da schau ich mal rein, ob sich da was schustern lässt. An sich sind die ZX-Laderoutinen nicht wirklich komplex, waren ja nur 8kb ROM da... beim Zeddy jedenfalls. Ich werde mal analysieren wie das Programm funktioniert. Sollte es nicht funktionieren, muss ich mir meine eigene Software Lösung zusammenfummeln.
LG Christoph

Was könnte dagegen sprechen... ist der Pofo zu langsam?