Autor Thema: Videos auf dem Atari 1040 STFM?  (Gelesen 9525 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline Yadgar

  • Benutzer
  • Beiträge: 5
Videos auf dem Atari 1040 STFM?
« am: Fr 23.02.2018, 16:06:57 »
Hi(gh)!

Voriges Jahr hatte ich angefangen, auf dem PC (AMD FX-6200, Hexacore, unter Linux) mit Videos im "Retro-Look" zu experimentieren... dazu konvertierte ich sowohl per Digitalkamera aufgenommene Realvideos als auch POV-Ray-Animationen mittels selbst in C++ programmierten (und noch lange nicht fertiggestellten!) Programms Grafikmodi diverser 80er-Jahre-Heimcomputer zu konvertieren, allen voran zunächst einmal in den Monochrom-Modus des Atari ST (mit Floyd-Steinberg-Rasterung). Auf dem PC sieht das zum Beispiel so aus:

https://www.youtube.com/watch?v=stqY09znsN4

Jetzt würde ich solche Videos ja gerne auch auf meinem realen Atari ST 1040 STFM zum Laufen bringen... bevor ich mir überhaupt eine Festplatte für den ST zulege und mit der Programmierung der Konvertierung in ein ST-taugliches Datenformat anfange, hätte ich gerne gewusst, ob der ST überhaupt in der Lage ist, vollformatige (also 640 x 400) Monochrom-Videos in erträglicher Geschwindigkeit anzuzeigen.

Da ich mich mit Videokompressions-Algorithmen nicht auskenne, gehe ich davon aus, dass der ST die einzelnen Frames nacheinander und unkomprimiert von der Festplatte lädt. Da es sich um 1-bit-Grafik handelt, müsste der ST bei 25 Frames pro Sekunde 640 * 400 / 8 * 25 Bytes, also 800 Kilobytes/Sekunde von der Platte laden und auf dem Bildschirm als Grafik anzeigen. Schaffen das die I/O-Einheit und der Grafikprozessor? Sind die für den ST geeigneten (SCSI-)Festplatten schnell genug dazu? Reicht 1 MB RAM aus? Wäre ich eventuell mit einem (Mega-)STE besser bedient?

Bis bald im Khyberspace!

Yadgar

Offline kolli

  • Benutzer
  • Beiträge: 68
Re: Videos auf dem Atari 1040 STFM?
« Antwort #1 am: Fr 23.02.2018, 18:33:06 »
Ich kann deine Frage leider nicht direkt beantworten, habe aber zwei möglicherweise hilfreiche Links für dich.

Making of für das Bad Apple Demo https://youtu.be/_j66Nu7BoCE
Da geht es zwar um das Abspielen von Videos auf dem STE, aber der Unterschied in hoher Auflösung ist ja nur, dass du beim STFM nicht einfach Audio per DMA abspielen kannst. Ich bin kein Coder, aber für mich wird deutlich, dass es nicht ganz einfach ist, einen Video-Stream abzuspielen.

Außerdem noch dies hier https://www.exxoshost.co.uk/forum/viewtopic.php?f=39&t=533
Da erklärt Peter Putnik einiges zum Abspielen von Farbvideos in niedriger Auflösung auf dem STE. Dort sind ebenfalls technische Erläuterungen zu finden, ob und wie es gehen kann.

Insgesamt ist die Anforderung an die Datenrate jedenfalls so hoch, dass es mit alten Festplatten nicht geht, sondern nur mit modernen Lösungen mit SD oder CF als Massenspeicher. Und der STFM ist für diesen Anwendungszweck alles andere als ideal.

Offline MJaap

  • Benutzer
  • Beiträge: 1.562
  • ST-Computer
Re: Videos auf dem Atari 1040 STFM?
« Antwort #2 am: Fr 23.02.2018, 19:14:09 »
Ist zwar nicht auf dem ST, aber 2015 erschien eine Umsetzung von Dragon's Lair für den ZX81, die Videos von SD-Karte streamte. Ohne Sound und in einem kleineren Format, aber immerhin.

Offline gh-baden

  • Benutzer
  • Beiträge: 1.976
Re: Videos auf dem Atari 1040 STFM?
« Antwort #3 am: Fr 23.02.2018, 19:47:56 »
https://www.youtube.com/watch?v=stqY09znsN4

Hübsch.

Da es sich um 1-bit-Grafik handelt, müsste der ST bei 25 Frames pro Sekunde 640 * 400 / 8 * 25 Bytes, also 800 Kilobytes/Sekunde von der Platte laden und auf dem Bildschirm als Grafik anzeigen. Schaffen das die I/O-Einheit und der Grafikprozessor? Sind die für den ST geeigneten (SCSI-)Festplatten schnell genug dazu? Reicht 1 MB RAM aus? Wäre ich eventuell mit einem (Mega-)STE besser bedient?

ACSI kann das durchaus, geeignet schneller Massenspeicher vorausgesetzt. Und dank DMA könntest du das evtl direkt in den Bildschirmspeicher kopieren. Aber 25fps bzw 800 KB/s sind jetzt nicht ohne.

Die RAM-Menge sehe ich da nicht als Problem.

Der MegaSTE kann zwar etwas schneller rechnen, aber nur im CPU-Cache, und die CPU solltest du so wenig wie möglich beteiligen, denn sonst wird’s zu eng. Insofern sehe ich da keinen großen Vorteil.
Wider dem Signaturspam!

Offline czietz

  • Benutzer
  • Beiträge: 3.589
Re: Videos auf dem Atari 1040 STFM?
« Antwort #4 am: Fr 23.02.2018, 21:17:05 »
Ich habe mal eben in gut 30 Minuten ein "proof of concept" zusammengebaut: 25 fps Video (640x400, monochrom) auf einem 1040STFm. Ist nicht wirklich optimiert, aber läuft bereits flüssig! (Ohne Sound, PCM-Sound ist auf einem STF nicht trivial realisierbar.) Die Daten kommen von einer SD-Karte; wie oben schon erwähnt, würde sich eine Festplatte aus der damaligen Zeit mit der Datenrate schwer tun.

Ihr könnt meinen Versuch unter https://youtu.be/xMhXwSpHnPQ bewundern.
« Letzte Änderung: Fr 23.02.2018, 21:35:43 von czietz »

Offline 1ST1

  • Benutzer
  • Beiträge: 8.661
  • Gesperrter User
Re: Videos auf dem Atari 1040 STFM?
« Antwort #5 am: Fr 23.02.2018, 22:02:37 »
Beeindruckend. Wieviel Rechenzeit ist den in % noch über? Samples auf dem Yamaha-Soundchip soll nicht allzuviel Ressourcen fressen, vielleicht kann man es zusammen bringen. Schließlich sieht man das oft in sehr zeitkritischen Demos mit Overscan und viel mehr Farben als der ST eigentich kann. Nur die Samples auch noch von der Platte zu lesen, das wird eher schwierig, da wird die DMA-Bandbreite nicht ausreichen. Die müssen wahrscheinlich vorab im RAM liegen.

Pera Putnik seine Erfolge beim Video-Playback auf dem STE wurden ja schon genannt, die dafür entstandene Software hat natürlich auch eine Homepage: http://atari.8bitchip.info/movpst.php
« Letzte Änderung: Fr 23.02.2018, 22:06:08 von 1ST1 »
Ausgeloggter Mitleser, der hier NIE mehr aktiv wird. Am besten, meine Inhalte komplett löschen. Dabei berufe ich mich auf mein Urheberrecht, die DSGVO und auf die Rechte, die mir unter Impressunm&Datenschutz zugestanden werden. Tschö!

Offline kolli

  • Benutzer
  • Beiträge: 68
Re: Videos auf dem Atari 1040 STFM?
« Antwort #6 am: Fr 23.02.2018, 22:04:17 »
Sehr geil! In Assembler? Und was ist das für ein Dateiformat? FMV sagt mir gar nix.

Offline czietz

  • Benutzer
  • Beiträge: 3.589
Re: Videos auf dem Atari 1040 STFM?
« Antwort #7 am: Fr 23.02.2018, 22:24:30 »
Für ein Proof-of-Concept hatte ich keine Lust auf Assembler, das ist Pure C und nur TOS-Funktionen, keine direkten Hardwarezugriffe. Das Dateiformat ist proprietär und wieviel Rechenzeit noch frei ist, kann ich nicht beantworten. Alle diese Details herauszufinden, überlasse ich @Yadgar -- ich wollte nur zeigen, dass es prinzipiell geht.

Offline Yadgar

  • Benutzer
  • Beiträge: 5
Re: Videos auf dem Atari 1040 STFM?
« Antwort #8 am: Fr 23.02.2018, 23:10:58 »
Hi(gh)!

Für ein Proof-of-Concept hatte ich keine Lust auf Assembler, das ist Pure C und nur TOS-Funktionen, keine direkten Hardwarezugriffe. Das Dateiformat ist proprietär und wieviel Rechenzeit noch frei ist, kann ich nicht beantworten. Alle diese Details herauszufinden, überlasse ich @Yadgar -- ich wollte nur zeigen, dass es prinzipiell geht.

Trotzdem beeindruckend... welche Festplatte verwendest du? Wenn es schon mit C so gut läuft, wie dann erst in Assembler?

Wo finde ich detaillierte Informationen über den Anschluss von (relativ) modernen Festplatten (also jedenfalls größere als es die Megafiles seinerzeit waren) an den ST? Was gibt es an freien oder nicht zu teuren C-Compilern?

Bis bald im Khyberspace!

Yadgar

Offline 1ST1

  • Benutzer
  • Beiträge: 8.661
  • Gesperrter User
Re: Videos auf dem Atari 1040 STFM?
« Antwort #9 am: Fr 23.02.2018, 23:30:31 »
Als Speichermedien basierend auf Flash kannst du nehmen:
1. SatanDisk (nicht mehr erhältlich, evtl. nicht so schnell wie nachfolgende)
2. Ultrasatan (gibts bei Lotharek.pl, Nachfolger von SatanDisk)
3. CosmosEx (technologischer Nachfolger von Ultrasatan, manchmal über den Entwickler Jookie erhältlich http://joo.kie.sk/?page_id=384)
5. Gigafile von W.Förster (https://shop.inventronik.de/index.php)
Ausgeloggter Mitleser, der hier NIE mehr aktiv wird. Am besten, meine Inhalte komplett löschen. Dabei berufe ich mich auf mein Urheberrecht, die DSGVO und auf die Rechte, die mir unter Impressunm&Datenschutz zugestanden werden. Tschö!

Offline gh-baden

  • Benutzer
  • Beiträge: 1.976
Re: Videos auf dem Atari 1040 STFM?
« Antwort #10 am: Fr 23.02.2018, 23:48:17 »
(Ohne Sound, PCM-Sound ist auf einem STF nicht trivial realisierbar.)

Ist nicht trivial, aber bereits existierend. Siehe die Sourcen zu GEMJing (1.36 oder 1.40 – die 1.40 fixt UI-Bugs, aber nichts beim abspielen), da gibt’s das als Unterroutine zum Aufrufen.
Wider dem Signaturspam!

Offline Yadgar

  • Benutzer
  • Beiträge: 5
Re: Videos auf dem Atari 1040 STFM?
« Antwort #11 am: Sa 24.02.2018, 00:18:08 »
Hi(gh)!

5. Gigafile von W.Förster (https://shop.inventronik.de/index.php)

112 Euro... da es offensichtlich keine billige Bastellösung mit ollen SCSI-Möhren für 10 Euro aus der "Elektrobucht" gibt (und ich die mit meinen dreieinhalb linken Händen eh nicht hinbekäme), werde ich wohl bis auf Weiteres auf Real-ST-Videos verzichten! Ich werde mir eventuell den Steem-Emulator installieren und versuchen, meine Videos dort laufen zu lassen...

Bis bald im Khyberspace!

Yadgar

Offline ari.tao

  • Benutzer
  • Beiträge: 2.248
  • Gesperrter User
Re: Videos auf dem Atari 1040 STFM?
« Antwort #12 am: Sa 24.02.2018, 02:37:25 »
Mit etwas Glück fischst Du vielleicht eine gebrauchte 1GB-SCSI-Platte plus ACSI-SCSI-HostAdapter in der eBucht.
« Letzte Änderung: Sa 24.02.2018, 02:42:44 von ari.tao »
Falcon+ddd32MHz, TT+CrazyDotsGK und noch ein paar andere.

Offline czietz

  • Benutzer
  • Beiträge: 3.589
Re: Videos auf dem Atari 1040 STFM?
« Antwort #13 am: Sa 24.02.2018, 11:08:04 »
da es offensichtlich keine billige Bastellösung mit ollen SCSI-Möhren für 10 Euro aus der "Elektrobucht" gibt

Auf alle Fälle brauchst Du dann einen ACSI-SCSI-Adapter. Aber grundsätzlich ist das mit den Videos auch mit (echten) Festplatten machbar: mit meiner 20 Jahren alten IBM-SCSI-Platte am AdSCSI-Plus-Adapter messe ich am ST immer noch gut 1200 kB/s Datenübertragungsrate. Wenn man sicherstellt, dass das Video unfragmentiert ist und ggf. im Player einen Buffer für kurzfristige Einbrüche der Leserate einbaut; wirds auch mit einer SCSI-Festplatte gehen. (Meine SH204 hingegen ist definitiv zu langsam.  ;) )

Offline simonsunnyboy

  • Moderator
  • *****
  • Beiträge: 1.798
  • Rock'n'Roll is the thing - Jerry Lee is the king!
Re: Videos auf dem Atari 1040 STFM?
« Antwort #14 am: Sa 24.02.2018, 11:10:27 »
Die Ultrasatan ist eine gute Lösung, Lotharek ist sehr zuverlässig und die Geräte kommen in sehr stabilen Gehäusen.

Die klassische Satandisk wurde schon von anderen Entwicklern als zu langsam für solche Videoapplikationen bezeichnet. Es gibt Demos, die explizit sagen "läuft nur mit UltraSatan"
Paradize - ST Offline Tournament
Stay cool, stay Atari!
1x2600jr, 1x1040STFm, 1x1040STE 4MB+TOS2.06+SatanDisk, 1xF030 14MB+FPU+NetUS-Bee

Offline kolli

  • Benutzer
  • Beiträge: 68
Re: Videos auf dem Atari 1040 STFM?
« Antwort #15 am: Sa 24.02.2018, 12:26:06 »
Ich bin zwar ein sich ordentlich auskennender Anwender, aber kein Coder. Zuletzt hab ich vor 25 Jahren auf dem Atari mit GFA-Basic programmiert. Vielleicht kann mir jemand bei folgenden Fragen weiterhelfen, ohne dass ich mich stundenlang durchs Profibuch wühlen muss:

Kann man sowas wie Framebuffer auf dem Atari (einfach) realisieren? Also vorbereitete Bildschirmseite(n) in Speicherbereich außerhalb des Screen Memory, und dann einfach dem OS sagen, dass er ab sofort sein Screen Memory unter Adresse xyz findet?

Welches vorhandene und mit Tools wie ffmpeg erzeugbare Video-Dateiformat eignet sich, um ohne viel Verarbeitungsaufwand einen solchen Framebuffer schnell zu füllen?

Offline czietz

  • Benutzer
  • Beiträge: 3.589
Re: Videos auf dem Atari 1040 STFM?
« Antwort #16 am: Sa 24.02.2018, 12:33:36 »
Kann man sowas wie Framebuffer auf dem Atari (einfach) realisieren? Also vorbereitete Bildschirmseite(n) in Speicherbereich außerhalb des Screen Memory, und dann einfach dem OS sagen, dass er ab sofort sein Screen Memory unter Adresse xyz findet?

http://toshyp.atari.org/de/Screen_functions.html#Setscreen
Viel mehr macht mein Player auf nicht: es gibt zwei Buffer, in einen wird gelesen, der andere wird dargestellt. Alle 3 VBLs wird umgeschaltet.

Zitat
Welches vorhandene und mit Tools wie ffmpeg erzeugbare Video-Dateiformat eignet sich, um ohne viel Verarbeitungsaufwand einen solchen Framebuffer schnell zu füllen?

Mein Setup für das Proof-of-concept war etwas aufwändiger, weil ich nicht noch einen Dekoder für irgendein Video-Format programmieren wollte. Extraktion der einzelnen Frames mit ffmpeg, Dithering auf monochrom und Skalierung auf 640x400 mit ImageMagick, dann alle resultierenden Dateien hintereinander gehängt.

Offline kolli

  • Benutzer
  • Beiträge: 68
Re: Videos auf dem Atari 1040 STFM?
« Antwort #17 am: Sa 24.02.2018, 13:08:43 »
Super, vielen Dank!
Die Video-Konvertierung, die du beschreibst, dürfte sich auch recht einfach als simples Shell-Script realisieren lassen.

Wenn ich dich richtig verstehe, liest du also quasi immer 32000 Bytes aus der Datei in einen reservierten Speicherbereich und schaltest dann zum passenden Zeitpunkt die Adresse des Bildschirmspeichers um, fertig?

Offline czietz

  • Benutzer
  • Beiträge: 3.589
Re: Videos auf dem Atari 1040 STFM?
« Antwort #18 am: Sa 24.02.2018, 16:12:10 »
Im Wesentlichen ja.

Offline Yadgar

  • Benutzer
  • Beiträge: 5
Re: Videos auf dem Atari 1040 STFM?
« Antwort #19 am: So 25.02.2018, 14:36:10 »
Mit etwas Glück fischst Du vielleicht eine gebrauchte 1GB-SCSI-Platte plus ACSI-SCSI-HostAdapter in der eBucht.

Wieso nur 1 GB? Geht größer nicht? Und was kostet so ein ACSI-SCSI-Adapter?

Bis bald im Khyberspace!

Yadgar