Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » Programmierung von Grafikeffekten auf DDR-Computern » Themenansicht

Autor Thread - Seiten: -1-
000
24.11.2024, 13:57 Uhr
Dresdenboy



Hallo zusammen,

obwohl der Austausch zum BIC-Thread gut besucht ist und es auch eine erfreuliche Beteiligung bei Programmier-Themen gibt, dachte ich nach Heikos Ju-Te-6K-Demo-Projekt, dass es ja übergreifende Themen gibt, die je nach Hardware auch auf mehreren Plattformen umgesetzt werden können. Fokus liegt hier natürlich auf Grafikeffekten (ggf. auch Sound) wie sie in Intros/Demos aus der Demoszene u. oft auch in Spielen zu finden sind. Dazu gehören sowohl die Funktionsweise, Optimierungen und Tricks, um diese mit möglichst wenig Taktzyklen pro Bildelement umzusetzen, sowie die Eignung der Plattformen für bestimmte Effekte.

Interessant wären schonmal all jene Computer mit echtem Textmodus, idealerweise noch mit Farbattributen. Alternativ sind auch Vollgrafik-Computer geeignet, wenn diese für Pixelblöcke Farbattribute verwenden. Da ist der Vorteil, dass die zu verändernden Datenmengen überschaubar sind.

Weiterhin sínd Rechner interessant, die spezielle Eigenheiten bzw. Stärken aufweisen. Das wären z.B. Rechner mit dem U82720/µPD7220 (BIC, EC1834, VIS3-Karte usw.) oder dem 6845 u. dessen Klone (KCC), Ju-Te-6K u.a. Rechner mit einzeln schreibbaren Farb-Bildebenen und generell auch Rechner, wo der Bildaufbau irgendwie über Register änderbar ist oder Informationen über das Zeichnen der einzelnen Bildzeilen abgreifbar sind.

Das soll es erst einmal für die Einleitung gewesen sein.

Viele Grüße,
Matthias
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
24.11.2024, 14:15 Uhr
ralle



KC85/4 via ESC-Sequenzen. Also Hintergrundfarbe tauschen und so.
https://www.youtube.com/watch?v=xC-nCm-XVBw
war vorher das falsche Video.
Jetzt aber das richtige, ein kleines BASIC: https://www.youtube.com/shorts/4oevv-e8zW8
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700

Dieser Beitrag wurde am 24.11.2024 um 14:25 Uhr von ralle editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
24.11.2024, 17:30 Uhr
kaiOr

Avatar von kaiOr

Hat man genügend RAM im System könnte man eine Art Playback durchführen. Das muss nicht wie hier gleich Vollbild sein und die Bilddaten müssen auch nicht von extern (USB) kommen.
Sondern man könnte auch ein kleines Objekt (3D-Würfel, dynamische Kachel) während des "Ladebalkens" vorberechnen und dann als bewegliches Sprite oder als gefächerten Hintergrund plotten.


Zitat:
Dresdenboy schrieb
U82720/µPD7220 (BIC, EC1834, VIS3-Karte usw.)

Die Inkompatibilität fängt oft schon auf ein und demselben Rechner an.
Wir hatten z.B. neulich einen Thread mit GEDIT (auf A7150).

Zitat:
GRAF11.F50 wurde notwendig, da sich beim Einsatz einzelner
Importexemplare des Schaltkreises GDC (Graphics Display Con-
troller) vom Typ NEC 7220A aufgrund eines bisher nicht be-
kannten und vom Hersteller nicht eindeutig dokumentierten
Verhaltens Fehlfunktionen ergeben, die sich in der ladbaren
Grafikfirmware folgendermassen auswirken:
- fehlerhafte Darstellung des "kleinen" Grafikkursors, des
Rechteckechos (K31) und des Eingabeausschnitts (K15) (hori-
zontale Linien nicht durchgehend, sondern "durchbrochen"),
- fehlerhafte Ausfuehrung der Grafikkommandos K8 (Initiali-
siere Speicherabschnitt) und K9 (Initialisiere Speicheraus-
schnitt)("Streifenmuster" ueber die gesamte Bildschirm-
breite).
Durch eine in GRAF11.F50 vor Ausfuehrung des ersten Grafikkom-
mandos zusaetzlich durchgefuehrte Initialisierung des GDC wird
ein fehlerfreies Verhalten, unabhaengig vom konkret einge-
setzten Schaltkreistyp, erreicht.



MfG

Dieser Beitrag wurde am 24.11.2024 um 17:32 Uhr von kaiOr editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
24.11.2024, 18:12 Uhr
Dresdenboy



@Kai
Ja, Playback kleiner Sequenzen v.a. nicht als Vollbild, sondern geschickt berechnet in wenigen sich wiederholenden Frames sind denkbar. Das kann auch zeichensatzbasiert sein. Gerade auf PETSCII-Rechnern gibt es da einen Trend und auch viel Akzeptanz.

Rechner mit viel Grafikspeicher könnten solche Sequenzen auch gleich in ihrem VRAM lagern. Mit einer leichtgewichtigen Komprimierungen (Ablegen von Bildteilbereichen, die nur gezielt überschrieben werden müssen), ginge da auch etwas, was ein <2 MHz Z80 flüssig schafft.

Bgzl. NEC µPD7220A:
Haben diese Probleme mit dem NEC-Chip vllt. etwas mit den hier dokumentierten Änderungen (siehe von mir gepostetes Bild) zu tun?

VG,
Matthias
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
24.11.2024, 18:37 Uhr
ralle



Für den Spectrum gibt es eine Videoplayer mit Ton.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
24.11.2024, 19:07 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Zu 000:

KC87 (Farbe) und Z1013 (sw)
Sind geeignete Kandidaten für reinen Textmodus.
Es gibt kaum Demos für diese Systeme.

Hier im Forum gab es das „wormhole“,
Auf meiner Seite findest du 1-Bit-Sound und „Last-KC-Demo“ (große Laufschrift)
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
24.11.2024, 19:31 Uhr
HeikoS



Eine gute Idee! Ich möchte auf eine Demo für den Z1013 hinweisen, die im Juni von Dietmar (u-held) hier vorgestellt wurde. Bisher hat niemand weiter seine Arbeit gewürdigt …

<036> https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=21054

Vielleicht liegt es ja auch daran, dass es auf GitHub veröffentlicht wurde.

https://github.com/duhlig/Z1013_software/tree/main/krtdemo

Ich hatte jetzt schon mehrfach Nachfragen (sogar von höchster Stelle :-) zum Laden von *.bin-, *.wav-Dateien etc. auf GitHub. Vielleicht ist dieser Hinweis ja hilfreich. Wenn auf GitHub ein Link, z.B. https://github.com/duhlig/Z1013_software/blob/main/krtdemo/krtdemo.z80 existiert, kann man die Datei nicht mit „Rechtsklick“ und „Ziel speichern unter“ laden, sondern man muss den Link anklicken und danach auf GitHub den „Download Button“ (Pfeil nach unten, Download raw file, oben rechts) anklicken. Im JKCEMU KRT-Grafik aktivieren und „krtdemo.z80“ auf 100H laden.

Hab’s hier auch mal im JKCEMU aufgezeichnet: https://nextcloud-ext.peppermint.de/s/ooA4LT8BcLeatiF

Grüße, Heiko

Dieser Beitrag wurde am 24.11.2024 um 19:38 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
25.11.2024, 19:31 Uhr
Dresdenboy



@Volker:
Die LKCC-Demo habe ich mir angeschaut. Das passt schon ganz gut. Sie braucht offenbar auch nicht einmal viel Code.

Die 1-bit-Sound-Demo schaue ich mir auch noch an. Das Verfahren ist mir manchmal schon begegnet. Ich glaube, das erste Mal auf 286 u. 386 mit PC-Speaker, wo ein Mod-Player die berechneten PCM-Daten ausgab. Spannend wäre hier, die Ausgabe mit dem Bildschirm-Update zu synchronisieren, um zeitlich beides hinzukriegen.

Bzgl. Textmode sind ja auch verschiedene Umsetzungs-Stufen denkbar, je nach Rechner und Bildausgabe-Logik. Von festem monochrom dargestellten Zeichensatz (Nachbildung versch. Helligkeiten über entspr. Zeichen) bis farbig und modifizierbare Zeichen ist ja alles denkbar. Bei PETSCII-Demos auf Commodore PET bis C64 kann man auch die Bandbreite sehen.

@Heiko:
Ich habe mir die Demo mal selbst gezogen und auch im JKCEmu starten können. Das ist schon gut gemacht, v.a. umfangreich.

Und mit schnellen Kreisroutinen kann man da ja schon etwas schönes machen. Vor allem lässt sich noch mehr herausholen, wenn man von generischen Routinen, die alle möglichen Fälle u. Bildschirmränder beachten müssen (da war auch ein kleiner Bug in der Kreisroutine oben am Rand zu sehen) weg geht (bzw. diese nur in schwierigen Situationen nutzt) und eher spezialisierte Routinen schreibt, ginge noch mehr. Gerade auf C64, Amiga u. Co. waren die Dot Tunnel sehr beliebt. Da werden Kreise nur mit z.B. 32 Punkten dargestellt, was für einen Tunnel aus mehreren Kreisen dann schnell genug ist. Die Punkte können auch vorberechnet sein und müssen nur noch entspr. der Position verschoben werden.

VG,
Matthias

VG,
Matthias
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
25.11.2024, 21:05 Uhr
u-held




Zitat:
Dresdenboy schrieb
da war auch ein kleiner Bug in der Kreisroutine oben am Rand zu sehen



Ich denke, da läuft die Fehlervariable des Bresenham-Algorithmus über. Das zu untersuchen hatte ich aber keine Lust mehr. Betrifft ja nur große Radien. Und die sind nicht so spannend, so lange der Mittelpunkt im Bild liegen muss.

VG,
Dietmar
--
Kompetenz simulieren
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
25.11.2024, 21:56 Uhr
HeikoS




Zitat:
volkerp schrieb
...
Hier im Forum gab es das „wormhole“,
...



Ich konnte das hier im Forum mit der Suche nicht finden. Kann jemand helfen ?

Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
26.11.2024, 11:06 Uhr
Dresdenboy



Ich bekam auf anderem Wege einen Vorschlag für einen Effekt, wie im Film Matrix mit den fallenden Buchstaben ("Digital Rain"). Da es für ein neudeutsch "rapid prototyping" gut in Turbo Pascal umsetzbar war (und damit auch der Algo besser lesbar ist), habe ich es mal für den BIC mit seinen Zeichencodes im Bildspeicher umgesetzt. Da die Textausgaben über eine Prozedur erfolgen, sollte das leicht anpassbar sein. Eine Lösung mit TP-Mitteln (gotoxy und write) ist langsam, mit flackerndem Cursor und reagiert auch nicht bei "keypressed". Da wäre ein direktes Schreiben in den Bildspeicher via mem[addr] sinnvoll und erspart auch die Umrechnung in Zeilen und Spalten.


Quellcode:
program digitalrain;

const len=10;
      max=60;
      width=80;
      height=25;

var pos        : array[0..max] of integer;
    c          : array[0..max] of byte;
    j          : byte;

procedure setchar(p:integer; chr,col:byte);
begin
  if (p<0) or (p>=width*height) then exit; {Position ausserhab des Bildschirms}
  port[$99]:=$49; {CURS: Cursor auf Word im Speicher setzen}
  port[$98]:=p and 255;
  port[$98]:=p shr 8;
  port[$99]:=$20; {WDAT word: Wort schreiben}
  port[$98]:=chr;
  port[$98]:=col;
end;

begin
  clrscr;
  randomize;
  port[$99]:=$4B; {CCHAR: Cursor ausschalten}
  port[$98]:=9; port[$98]:=0; port[$98]:=0;
  for j:=0 to max do               {initiale Zeichen}
    begin
      pos[j]:=random(width*height);        {Bildschirmposition}
      c[j]:=random(255);           {Zeichencode}
    end;
  repeat
    for j:=0 to max do
      begin
        setchar(pos[j],c[j],15);        {weiss}
        setchar(pos[j]-width,c[j],10);  {1 Zeile darueber hellgruen}
        setchar(pos[j]-3*width,c[j],2); {3 Z. darueber gruen}
        setchar(pos[j]-len*width,0,0);  {len Z. darueber loeschen}
        pos[j]:=pos[j]+width;           {naechste Zeile}
        if pos[j]>=(24+len)*width then  {fertig -> neues Zeichen}
          begin
            pos[j]:=random(width);      {Startposition}
            c[j]:=random(255);          {Zeichencode}
          end;                                                                  
      end;
  until keypressed;
  port[$99]:=$4B; {CCHAR: Cursor wieder einschalten}
  port[$98]:=$89; port[$98]:=$20; port[$98]:=$70;
end.



Für die ganzen port-Ausgaben zum Abschalten des Cursors oder Setzen des Zeichens wären für andere Systeme jeweils eine Anpassung bzw, einfach Weglassen des Codes nötig.

Ausgabe:



VG,
Matthias
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
26.11.2024, 11:15 Uhr
Dresdenboy




Zitat:
HeikoS schrieb

Zitat:
volkerp schrieb
...
Hier im Forum gab es das „wormhole“,
...



Ich konnte das hier im Forum mit der Suche nicht finden. Kann jemand helfen ?


Ich leider auch nicht.

Aber wo wir bei Demos und auch effektreichen Spielen sind (Werke von Moods Plateau u.a.):
https://demozoo.org/productions/?platform=42

In dieser Demo fand ich ein Plasma für den KC 85/4:
https://demozoo.org/productions/185234/

Edit: Hier ist ein großes Plasma für den KC 85/4 in Quantum Leap): https://www.youtube.com/watch?v=JD__IUjtj5o&t=35s

VG,
Matthias
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...

Dieser Beitrag wurde am 26.11.2024 um 12:47 Uhr von Dresdenboy editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
26.11.2024, 11:54 Uhr
HeikoS



Moods Plateau sind natürlich bekannt hier, das sind die absoluten Profis - "Crawler" von Moods Plateau ist manchmal aktiv hier. Ab 1:45 gibt es Rasterbars im Abspann ... ;-) ... aber weniger Lines und ohne Hindernisse ...

Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
26.11.2024, 13:13 Uhr
Dresdenboy




Zitat:
HeikoS schrieb
Moods Plateau sind natürlich bekannt hier, das sind die absoluten Profis - "Crawler" von Moods Plateau ist manchmal aktiv hier. Ab 1:45 gibt es Rasterbars im Abspann ... ;-) ... aber weniger Lines und ohne Hindernisse ...

Grüße, Heiko


Das hört sich schon nach demoszene-interner Competition an.

Aber nochmal zu dem Plasma: Die ZX-Lösung, die ich gebaut habe (siehe hier im BIC-Thread, nutzt es ein ähnliches Prinzip wie Moods Plateau in "Quantum Leap": Ein simples Dither-Pattern als Bitmap und Änderung der Attribute.

Was hier noch nicht besprochen wurde, ist ein Plasma (oder anderer helligkeits- bzw. farbbasierter Effekt), für Textmodi, auch monochrom. Das lässt sich gut über entspr. gewählte Zeichen mit mehr oder weniger Pixeln abbilden. Den Rest macht eine flüssige Bewegung.

Hier ist ein Javascript-Beispiel eines Mandelbrot-Rotozoomers in 256 Bytes (Javascript) von Mathieu Henri:
http://www.p01.org/mandelbrot_rotozoom/

Im Vorschaubild werden andere Zeichen verwendet als dann im aktuellen Code. Ggf. musste er den Code an neuere Anforderungen der Browser anpassen. Aber die Grundidee sollte klar werden.

@alle:
Woran bestünde denn mal Interesse? Prinzipiell müsste ich zu sehr vielen Effekten (v.a. aus der Zeit vor den Shadern) die Algos oder Tricks kennen (da mich immer interessierte, wie es funktioniert bzw. ich viel ausprobiert habe) oder ggf. Material finden können.

Ich dachte z.B. an einen Bump-Mapping-Effekt. Bisher habe ich das Ende der 90er in versch. Form in Grafikmodi gemacht (DOS, Java), aber mit Text wäre ja auch denkbar. Hier ein PETSCII-Beispiel:
https://www.youtube.com/watch?v=3FFPCuDqi_g&t=203s

VG,
Matthias
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
29.11.2024, 11:44 Uhr
HeikoS



Habe mal was für den Z1013 mit KRT-Grafik gemacht:

https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=21054#248668

Grüße, Heiko

Dieser Beitrag wurde am 29.11.2024 um 14:59 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
29.11.2024, 15:08 Uhr
Dresdenboy



@Heiko:

Super, das hat also geklappt! Sehr schön, auch visuell!

VG,
Matthias
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
016
29.11.2024, 16:01 Uhr
HeikoS



Danke ! Ja, ich habe GleEst akribisch filetiert und neu zubereitet ... das war die Übung, damit es dann auch für den JuTe 6K auf Z8 gemacht werden kann ...

Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
017
01.12.2024, 13:35 Uhr
HeikoS



Jetzt mal was für die KC85-Freunde. Das ging nun schon wie's Brezelbacken, nachdem der Algorithmus aus dem Original extrahiert wurde. Dank der hervorragenden Dokumentation des KC85/4 (Systemhandbuch) und vielen Quellen im Internet (z.B. kc85.info) war es nicht schwer, die richtigen Anpassungen für die KC85-Grafik zu machen. Den Farb-Effekt möchte ich noch hinzufügen, das sollte mit dem KC85 gehen. Vielleicht hat auch jemand Lust da mitzumachen ?



Ich bin immer wieder beeindruckt, von dem schönen Effekt ... beruhigt sogar den Geist in dieser unruhigen Zeit, finde ich.

Es liegt wie immer alles auf GitHub:
https://github.com/haykonus/KC85-Demos/tree/main?tab=readme-ov-file#gleest-f%C3%BCr-kc854

Ich wünsche Euch allen einen schönen 1. Advent !

Grüße, Heiko

Dieser Beitrag wurde am 01.12.2024 um 16:07 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
018
01.12.2024, 19:18 Uhr
ralle



Du müsstest noch einen Header hinzufügen. So kann man es nicht in das Original laden.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
019
01.12.2024, 20:05 Uhr
HeikoS



Oh, das ist mein erstes Programm für den KC85 überhaupt. Im JKCEMU kann man es einfach als *.BIN laden. Aber mit den Details im KC und den Dateiformaten kenne ich mich nicht aus. Da bitte ich um Nachsicht oder Hilfe. Ich habe jetzt mal eine KCC- und WAV-Datei erzeugt im JKCEMU.

https://github.com/haykonus/KC85-Demos/tree/main/GleEst_KC85-4

Ich hoffe das geht jetzt und vermute, dass die Länge des Programms unbekannt war zum Laden ?

Grüße, Heiko

Dieser Beitrag wurde am 01.12.2024 um 22:49 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
020
02.12.2024, 07:47 Uhr
ralle



Eigentlich nicht, da man zum Saven Namen und Anfangs, wie auch Endadresse angeben muss. Optional auch eine Startadresse. Sowohl unter CAOS als auch beim Assembler. BASIC verwaltet das selbst.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
021
02.12.2024, 09:37 Uhr
HeikoS



Ok, dann ist mir klar was du meinst. Wenn ich im Arnold-Assembler ein Programm übersetzte, entsteht eine *.BIN-Datei. Diese hat eine bestimmte Länge. Beim Laden dieser *.BIN-Datei in den JKCEMU, wird sie einfach bin zum Dateiende an eine Startadresse geladen. Dann kann man mit MENU den Menüeintrag erzeugen und das Programm starten.

*.KCC-Dateien haben den Header, den Du erwähnt hattest, da muss man dann Anfang/Ende/Start eintragen. Beim SAVE-Befehl genau so. Danke für den Hinweis. Im Github liegen nun auch eine KCC- und eine WAV-Datei. Läuft denn das Programm nun bei Dir auf einem echten KC85/4 ?

Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
022
02.12.2024, 11:28 Uhr
ralle



Nein, noch nicht. Bin auf QRL
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
023
02.12.2024, 18:59 Uhr
HeikoS



Die Portierung von GleEst, inkl. des Farbeffekts s. <017> auf den KC85/4 ist gelungen :-))))



Der Speccy arbeitet mit 3,5 Mhz doppelt so schnell, aber der KC85/4 schlägt sich gut.

Update des GitHub folgt ...

@Ralle
Was ist QRL ... ? Kenne nur QRZ ;-)

Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
024
02.12.2024, 22:32 Uhr
Dresdenboy




Zitat:
HeikoS schrieb
Der Speccy arbeitet mit 3,5 Mhz doppelt so schnell, aber der KC85/4 schlägt sich gut.


Sehr schick! Und die Farben sehen irgendwie besser aus als im Original.

Und verliert der ZX durch Wait States nicht eh etwas? Hier steht z.B. effektiv 2.66 MHz: https://worldofspectrum.org/ZXSpectrum128+3Manual/chapter8pt30.html

Gibt es das beim KC? Wenn nicht, wäre der Unterschied schon kleiner.

Und der BIC am Ende deutlich schneller.

Edit: Logikers Christmas Challenge ist nun veröffentlicht. Es geht darum, mit möglichst kleinem Code (locker <100 Byte) auf egal welcher Plattform ein Bild aus Textzeichen zu erzeugen. Diesmal ein Geschenk (im hinteren Teil des Videos): https://www.youtube.com/watch?v=3q5ZWJmMhgQ

VG,
Matthias
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...

Dieser Beitrag wurde am 02.12.2024 um 23:05 Uhr von Dresdenboy editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
025
02.12.2024, 23:19 Uhr
HeikoS



Freut mich, wenn es gefällt ! Jetzt hast du mein Lieblingsthema getriggert … manche werden sagen, „nicht schon wieder der mit seinen Erklärungen … ;-) Das hatten wir hier schon mal ausführlich debattiert:

https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=21874

Der KC85/4 löst das durch geschicktes Timing und letztlich durch WAIT-States, wie Bert oben in <004> schrieb.

Der Artikel in deinem Post bezieht sich auf den ZX Spectrum 128 +3, die sind nach der Übernahme durch Amstrad rausgekommen. Im ZX-Spectrum von Sinclair wird das anders gelöst. Dazu gibt es eine tolle Story. Im ZX-Spectrum von Sinclair wird tatsächlich der CPU-Takt für einige Perioden angehalten, wenn ein Konflikt zw. CPU und BWS(IRM)-Logik auftritt.

Im Detail ist das für den Spectrum in diesem Buch beschrieben:
http://www.zxdesign.info/book/
https://www.robotrontechnik.de/bilder/Upload_Forum/23/2n1_lqw.png

Dieses Verfahren ist sehr effektiv und soll nur wenig Verluste bringen, habe ich mal gelesen. Konnte ich auch bestätigen am JuTe-6K (s.u.).

Und hier ist die kleine Geschichte dazu …
https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=22012#242398

Das habe ich mal ähnlich für den JuTe 6K gebaut:
https://github.com/haykonus/JU-TE-6K-Video-HW-Patch

Herrliches Thema ... aber schon zu spät heute. Können wir ja mal weiterführen, oder auch mal Tests auf verschiedenden Rechnern machen dazu ... für heute erstmal Feier-Ahmd !

Viele Grüße, Heiko

Dieser Beitrag wurde am 02.12.2024 um 23:27 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
026
03.12.2024, 12:13 Uhr
HeikoS



Der PAL-Decoder ist eingebaut ... ;-)

Hier die Farb-Version von GleEst für den KC85/4 auf dem GitHub, inkl. BIN-, KCC-, WAV-Dateien.
https://github.com/haykonus/KC85-Demos/blob/main/README.md#gleest-f%C3%BCr-kc854

Im Quell-Text sind nun noch viele Kommentare an den Stellen, die angepasst wurden. Damit könnte das auch leicht an andere Rechner angepasst werden ... AC1, BIC, KCC, ... ? Vielleicht hat ja jemand Lust dazu.
https://github.com/haykonus/KC85-Demos/blob/main/GleEst_KC85-4/gleest_KC85-4.asm

@Matthias:
Hier noch eine sehr schöne Auftellung der Unterschiede zu "Contended memory" bei den unterschiedlichen Speccy-Versionen.
https://sinclair.wiki.zxnet.co.uk/wiki/Contended_memory

Grüße, Heiko

PS: Ist auch ein schöner Bildschirmschoner ... :-)

Dieser Beitrag wurde am 03.12.2024 um 12:17 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
027
03.12.2024, 18:36 Uhr
ralle



QRL oder QeRLustig = Arbeitsstelle.

Es funktioniert, nur nicht ganz so zentral. Kannst ja Mario fragen wie das als Bildschirmschoner funktioniert.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700

Dieser Beitrag wurde am 03.12.2024 um 18:37 Uhr von ralle editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
028
03.12.2024, 21:42 Uhr
FL



Ich habe die KCC und die WAV am KC85/5 ausprobiert.

Sieht super aus !!!

Gruß
Frank.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
029
04.12.2024, 08:06 Uhr
HeikoS



@ralle, @FL

Danke Euch für die Rückmeldungen !

Wenn man das als "reguläres" Programm bereitstellen möchte, müssten noch einige Dinge getan werden. Oleg Senin aus St.Petersburg hat das ja im Rahmen eines Wettbewerb als extrem optimiertes 256 Byte-Programm erstellt (Size-Coding). Da wurde überhaupt keine Rücksicht darauf genommen, ob das Programm jemals wieder normal beendet werden soll und brav ins OS zurückkehren kann.

Man müsste auf jeden Fall die Anfangsbedingungen besser setzen und prüfen, ob das Programm nicht irgendwo wild in der Gegend RAM-Zellen überschreibt. Aber das zu bändigen, wäre schon möglich. Infos zu "Bildschirmschoner" für KC85/3,4,5 habe ich nur als Driver für CP/M von Mario gefunden. Ob es da Konzepte und API's für den KC-Mode gibt, weiss ich nicht. Da gibt es hier sicher viel bessere Experten zu dem Thema. Wäre ein schönes Projekt ...

Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
030
04.12.2024, 08:12 Uhr
ralle



Naja, es wird ungenutzten RAM genutzt. Faden ist auch so ein ähnliches Programm.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
031
04.12.2024, 09:36 Uhr
FL



Im Emulator habe ich gesehen, daß das Programm tatsächlich einige Bytes wild im RAM überschreibt. Das betrifft ungefähr den Bereich von 0..80h.

Ansonsten, wenn du für die Umschaltung zwischen Pixel- und Farbebene, statt "LD A,000010x0b", SET und RES nimmst, sollte es fast als "reguläres" Programm taugen.

Das Programm als Bildschirmschoner für CAOS zu installieren, wird schwierig.
Im Grundgerät gibt es keinen freien CTC-Kanal den man für die Zeitmessung nehmen kann.
Man bräuchte ein M001 oder M003 als zusätzliche Hardware.
Den Tastaturtreiber aufbohren (neuschreiben) geht vielleicht auch.

Gruß
Frank.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
032
04.12.2024, 11:12 Uhr
HeikoS



Ein Tipp von KaiOr zur Optimierung der Umrechung von P(x,y) in VRAM-Adressen:

Cool ! Danke.

https://github.com/haykonus/KC85-Demos/commit/8c286fcdaac9b60650214d0b124921cb491db0f1

Gibt es so einen schönen Trick auch für den KC85/3 ?

@FL:

SET und RES baue ich auch noch ein !

Grüße, Heiko

EDIT: Nur RES/SET reicht nicht, man muss noch aus (IX+1) den Registerwert holen, da man ihn nicht vom Register lesen kann. Das macht es dann nur langsamer, lasse ich mal so ... ist ja noch eine Demo ;-)

Dieser Beitrag wurde am 04.12.2024 um 12:39 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
033
04.12.2024, 18:23 Uhr
susowa



> Im Grundgerät gibt es keinen freien CTC-Kanal den man für die Zeitmessung nehmen kann

Bedingt geht CTC0, den benutzt DIASHOW für die Freigabe der Bildwechsel. Man sollte aber vorher die Lautstärke für die Tonausgabe stummschalten (Bit 1-4 PIO Port B (Adresse 89H) auf 1 setzen).

Könnte dann auch stören, wenn man den "KC85 Sound" des D001 im Bildschirmschoner benutzen möchte.

Ein echter Bildschirmschoner ist nur unter CP/M möglich, welcher dann im Grundgerät laufen muss. Unter CAOS gibt es keinen geschützten Speicherbereich, wo der Bildschirmschoner "sicher" ist - wird also schwierig ...

MfG susowa
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
034
04.12.2024, 20:18 Uhr
maleuma




Zitat:
HeikoS schrieb
Die Portierung von GleEst, inkl. des Farbeffekts s. <017> auf den KC85/4 ist gelungen :-))))



Grüße, Heiko


Sehr schön geworden, gute Arbeit. Ich habe es gerade mit dem JKCEMU probiert.
Am KC85/4 funktioniert es, beim KC85/5 werden jedoch die Pixel nicht wieder gelöscht, sodass der Bildschirm langsam voll läuft. Möglicherweise hat das mit dem 256K-RAM zu tun?
Ich habe den Quelltext aber noch nicht analysiert. Vielleicht kannst Du ja dazu noch eine Anpassung machen.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
035
04.12.2024, 22:34 Uhr
HeikoS



Freut mich, dass es der KC-Gemeinde gefällt! Es ist ja auch wirklich ein sehr schöner Effekt.

Im JKCEMU 0.9.8.4 läuft es bei mir auch auf dem KC85/5. Tritt der Fehler im echten KC85/5 auf ?

Ein kleines Update habe ich gemacht. Liegt jetzt auch auf dem GitHub. Der Port 84h wurde bisher ohne vorher von (IX+1) zu lesen, "hard" gesetzt. Evtl. ist das ja das Problem.

Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
036
05.12.2024, 06:19 Uhr
ralle



Versionsnummer wäre nicht verkehrt.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
037
05.12.2024, 08:21 Uhr
HeikoS



Im Github kann man ja alles nachvollziehen, was gemacht wurde. Am besten jetzt immer die aktuelle (letzte) Version laden (Name ist immer gleich). Wenn man in der Historie nachschaut, sind alle vorherigen „commits“ (Versionen) zu finden. Für Versionierung ist es noch zu früh, kann man im Github aber auch machen.

Es gibt auch schon Angebote mitzumachen, das in ein „reguläres“ Programm zu überführen. Dann wird’s bestimmt auch Versionen geben. Das war ja eigentlich nur ein Test auf dem Weg zur Portierung auf den JuTe-6K mit Z8 CPU … Aber wenn es so positiv aufgenommen wird für den KC85, dann machen wir das einfach weiter :-)

Grüße, Heiko

EDIT: Links zu den "commits":

https://github.com/haykonus/KC85-Demos/commits/main/GleEst_KC85-4/gleest_KC85-4_0200H.wav

https://github.com/haykonus/KC85-Demos/commits/main/GleEst_KC85-4/gleest_KC85-4_0200H.kcc

Dieser Beitrag wurde am 05.12.2024 um 08:42 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
038
05.12.2024, 18:12 Uhr
HeikoS



Es gibt wieder ein kleines Update:

- GleEst wird besser initialisiert (kein undefiniertes Schreiben im RAM)
- es kann mit beliebiger Taste abgebrochen werden -> Reset

Die aktuellste Version ist immer hier zu finden:

https://github.com/haykonus/KC85-Demos/tree/main?tab=readme-ov-file#gleest-f%C3%BCr-kc854

Grüße, Heiko

Dieser Beitrag wurde am 05.12.2024 um 18:13 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
039
06.12.2024, 08:44 Uhr
HeikoS



Ein Tipp von Crawler:

https://github.com/haykonus/KC85-Demos/commit/136564c03e82939228f034decacbcd087fc485eb

Tastenstatus schneller abfragen (ohne CAOS-Aufruf).

Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
040
06.12.2024, 11:00 Uhr
BICa5105

Avatar von BICa5105

Ich freue mich echt, dass sich in Sachen Software und Demo wieder ein bisschen was tut auf unseren alten Kisten ;-) . ( Hier speziell Grafikeffekte)

Die ganzen "Hardware Basteleien" sind gut und schön und auch super spannend. Aber es ist auch sehr spannend dann aus dieser ganzen Hardware etwas neues sichtbares und hörbares herauszubekommen!
Das ist in den letzten Jahren leider ein bisschen "eingeschlafen".

Aber gerade das ist ja so spannend. Zu sehen was heutzutage noch mit den alten Rechnern möglich ist.
Mit neuen Ansätzen, anderem Wissen, mehr Erfahrung.
Das sieht man ja an der Demo und Programmierszene anderer Rechner. Wo Dinge entstehen welche man noch vor 30 Jahren, bzw. als diese Rechner aktuell waren, für unmöglich gehalten hat.

Falls es jemand noch nicht kennt... .
Ein gutes Beispiel dafür ist auch SymbOS ( http://www.symbos.de/ ) von Jörn Mika.

Das läuft übrigens auch auf dem KC Compact !

LG Cornelius
--
https://www.youtube.com/@robotronA5105
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
041
07.12.2024, 08:41 Uhr
ralle



Funktioniert und jetzt auch mehr mittig. Schmiert aber nach einer Zeit ab.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700

Dieser Beitrag wurde am 07.12.2024 um 08:43 Uhr von ralle editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
042
07.12.2024, 09:51 Uhr
Dresdenboy



@Heiko:
Ich habe mal im Sizecoding-Discord über deinen GleEst-Port berichtet. Da gab es Anerkennung von mehreren sehr aktiven u. auch erfolgreichen Sizecoding-Veteranen.



Falls du dich dort selbst einbringen möchtest, organisiere ich gern eine Einladung (ist wg. Spammern stark eingeschränkt). Ansonsten kann ich dich gern dort weiter vertreten.

@ralle:
Den Absturz kann man vermutlich gut im JKCEmu debuggen.

@alle:
Ich erinnere auch nochmal an die Weihnachts-Challenge vom Logiker, wo im Prinzip nur dieses Geschenk mit möglichst wenig Code reproduziert werden muss (auch genaue Anzahl Zeichen und Zeilen) - Position auf Bildschirm egal und Bild löschen ist auch nicht nötig:


Seite mit Regeln dazu: https://logiker.com/Vintage-Computing-Christmas-Challenge-2024

Edit: Code vorher nicht veröffentlichen!


Es kann auch ein BASIC One-Liner-Buch gewonnen werden.

Ich schaue selbst mal, ob ich da teilnehme. Es ist ja noch Zeit. Derzeit ist es zumindest bis Mittwoch sehr eng mit Zeit zu Hause.

VG,
Matthias
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...

Dieser Beitrag wurde am 07.12.2024 um 16:06 Uhr von Dresdenboy editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
043
07.12.2024, 13:00 Uhr
Bert




Zitat:
Dresdenboy schrieb
Weihnachts-Challenge



Triviallösung für den grafikfähigen Mühlhausen-KC:

Quellcode:

10 CLS:Y=50:X=75
20 FOR I=0 TO 2
30 LINE 75,Y,255,Y,7
40 LINE X,50,X,200,7
50 X=X+90:Y=Y+75
60 NEXT
70 CIRCLE 165,215,12,7
80 LINE 165,200,140,225,7
90 LINE 165,200,190,225,7



Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
044
07.12.2024, 14:00 Uhr
RenéB



Vorher veröffentlichen der Lösung ist ein Regelverstoß. Außerdem sind das alles ASCII-Zeichen. :-P
Dieser Beitrag wurde am 07.12.2024 um 14:00 Uhr von RenéB editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
045
07.12.2024, 16:06 Uhr
Dresdenboy



@René u. Bert:
Da es anders gelöst wurde, können wir das so stehen lassen.

Aber ich habe nochmal einen Hinweis oben eingebaut.

VG,
Matthias
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
046
08.12.2024, 12:14 Uhr
HeikoS




Zitat:
Dresdenboy schrieb
@Heiko:
Ich habe mal im Sizecoding-Discord über deinen GleEst-Port berichtet. Da gab es Anerkennung von mehreren sehr aktiven u. auch erfolgreichen Sizecoding-Veteranen.



Falls du dich dort selbst einbringen möchtest, organisiere ich gern eine Einladung (ist wg. Spammern stark eingeschränkt). Ansonsten kann ich dich gern dort weiter vertreten.



@Matthias:

Wow, das freut mich natürlich besonders. In echtes Sizecoding möchte ich (jetzt) nicht einsteigen. Bin schon froh, wenn die Portierungen überhaupt laufen. Du kannst aber gerne immer von unseren Aktivitäten dort berichten und meinen Dank für die Anerkennung weitergeben !

@alle:

Ich bekomme immer wieder Tipp’s zur Verbesserung von GleEst für den KC85/4/5. Vielen Dank an die Supporter ! Wenn ihr beim Testen mitmachen wollt, bitte immer konkret mitteilen, auf welcher Platform getestet wurde (HW/EMU, Module, …) und die „commit ID“ aus dem GitHub mitteilen. Dann kann ich das exakt nachvollziehen.



Habe gerade wieder in Update auf GitHub hochgeladen.

https://github.com/haykonus/KC85-Demos/tree/main?tab=readme-ov-file#gleest-f%C3%BCr-kc854

EDIT:

- Änderungen an der Stackinitialisierung und Nutzung
- Dauertest im JKCEMU bisher überstanden

Viele Grüße + schönen 2. Advent,
Heiko

Dieser Beitrag wurde am 08.12.2024 um 14:16 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
047
08.12.2024, 13:41 Uhr
Lötspitze



Hallo Heiko,

bei GitHub steht: "Der Sound-Effekt ist nicht implementiert, da der KC85/4 keinen Sound-Chip der AY-3-Familie besitzt."
Das stimmt, aber es gibt das Modul M066 mit dem Chip. Vielleicht ist damit etwas machbar.
https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=14829&highlight=m066

VG Matthias
--
___________________
...geboren, um zu löten.

Wer rennen soll, muß auch mal stolpern dürfen.

Dieser Beitrag wurde am 08.12.2024 um 13:41 Uhr von Lötspitze editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
048
08.12.2024, 17:46 Uhr
kaiOr

Avatar von kaiOr

Habe spaßeshalber eine Version für den KC85/3 ge-fork-elt:
https://github.com/pontacko/KC85-Demos/tree/patch-1/GleEst_KC85-4
Auch kurz auf einem echten 3er getestet:
Die Beschränkung auf 4x8 - Farbklötze stört nicht wirklich.
Und die typischen Strichartefakte der IRM-Zugriffe sind auch kaum sichtbar. Da diese die Hintergundfarbe (hier Schwarz) haben und der größe Teil vom Bildschirm ja schwarz ist.

@Heiko: Bitte übernehmen, ich lösche das "Repository" bei mir dann wieder weg.

Gruß,
Kai
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
049
08.12.2024, 19:31 Uhr
HeikoS



Hallo Kai,

super !!! Dann hast Du die Frage aus <032> gleich mit "in die Tat umsetzen" beantwortet ;-)

Ich wollte das auf jeden Fall wegen der "Strichartefakte " auch wenigstens einmal auf einem echten KC85/3 testen. Sehr schön, wenn die Artefakte wegen dem schwarzen Hintergrund nicht stark sichtbar sind! Die Farbklötze von 4x8 sind immer noch besser als 8x8 beim Spectrum. Es war relativ klar, dass das sogar sehr gut passen würde.

Tolle Arbeit ! Ich werde das mit einbinden, immer alle Versionen für /3 /4 erzeugen und die Änderungen über einen Schalter für die Versionen entsprechend setzen, so dass die Code-Basis immer gleich ist.

Viele Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
050
08.12.2024, 19:37 Uhr
HeikoS




Zitat:
Lötspitze schrieb
Hallo Heiko,

bei GitHub steht: "Der Sound-Effekt ist nicht implementiert, da der KC85/4 keinen Sound-Chip der AY-3-Familie besitzt."
Das stimmt, aber es gibt das Modul M066 mit dem Chip. Vielleicht ist damit etwas machbar.
https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=14829&highlight=m066

VG Matthias



Hallo Matthias,

das kannte ich noch nicht. Eine sehr professionelle Entwicklung inkl. Handbuch. Bin begeistert !!! Das kann man aktivieren und sogar im JKCEMU testen, da gibt es das Modul ja auch. Dann haben wir eine 150% - Portierung, weil die Farben beim KC85/4 fast Pixel genau sind, Gegensatz zum guten alten Speccy. Werde ich auf jeden Fall machen.

Viele Grüße, Heiko

Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
051
09.12.2024, 03:00 Uhr
ralle



Über welchen Spektrum geht es? Der 48k hat auch keinen Ay.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
052
09.12.2024, 08:29 Uhr
HeikoS




Zitat:
kaiOr schrieb

@Heiko: Bitte übernehmen, ich lösche das "Repository" bei mir dann wieder weg.

Gruß,
Kai



Ist übernommen und in eine Quell-Datei überführt. Nochmal Danke für die Mitarbeit !

https://github.com/haykonus/KC85-Demos/tree/main/GleEst_KC85-4

Das Readme muss ich noch anpassen, die /3 Versionen liegen noch unter dem Namen KC85/4.

Mehr habe ich beim Kaffee jetzt nicht geschafft ...

Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
053
09.12.2024, 08:32 Uhr
HeikoS




Zitat:
ralle schrieb
Über welchen Spektrum geht es? Der 48k hat auch keinen Ay.



Das stimmt, werde ich im Readme noch erwähnen. GleEst ist für den ZX-Spectrum 128 geschrieben worden. Aber der 48K kann ja auch mit einem Steckmodul erweitert werden, also das gleiche Spiel wie beim KC 85 3/4.

Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
054
09.12.2024, 11:45 Uhr
kaiOr

Avatar von kaiOr


Zitat:
HeikoS schrieb
super !!! Dann hast Du die Frage aus <032> gleich mit "in die Tat umsetzen" beantwortet ;-)

Naja, die Adressberechnung beim KC85/2-3 ist nicht wirklich "schön" machbar. Theoretisch ginge es noch etwas schneller mit Lookup-Tabelle (könnte man während der Laufzeit anlegen). Man bräuchte in diesem speziellen Fall aber so 8-12 Tabellen a 256byte und müsste die Teil-Ergebinisse flink ranholen und ver-Oder-n. Lassen wir besser...


Zitat:
HeikoS schrieb
Ist übernommen und in eine Quell-Datei überführt. Nochmal Danke für die Mitarbeit !

Ich danke auch! Die Dauer-Zugriffe auf 0000h sind allerdings wieder da. Während "djnz d_dloop" läuft HL gnadenlos über buffer2_end hinweg.

Gruß,
Kai

Dieser Beitrag wurde am 09.12.2024 um 11:46 Uhr von kaiOr editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
055
09.12.2024, 12:18 Uhr
HeikoS



Readme ist überarbeitet, alle Versionen sind nun an der richten Stelle zu finden. Im JKCEMU lief es auch auf dem HC900 und dem KC85/2.

https://github.com/haykonus/KC85-Demos

@Kai:

"Die Dauer-Zugriffe auf 0000h sind allerdings wieder da. Während "djnz d_dloop" läuft HL gnadenlos über buffer2_end hinweg."

-> das schaue ich mir nochmal an !

Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
056
09.12.2024, 13:19 Uhr
ralle



Heiko, kc8/2 ist nicht gleich kc85/2. Die erste Serie war noch etwas anders. Die 2te Serie hatte schon den Platinen-Satz des /3. Letztere meldet sich mit CAOS 2.2, während erste mit HC900-CAOS meldet.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
057
09.12.2024, 13:26 Uhr
HeikoS




Zitat:
kaiOr schrieb
... Die Dauer-Zugriffe auf 0000h sind allerdings wieder da. Während "djnz d_dloop" läuft HL gnadenlos über buffer2_end hinweg.



Das ist komisch, ich kann das im JKCEMU nicht nachvollziehen. Wie hast du das bemerkt? Wie kann ich das debuggen ?

Ist das mit dieser Änderung bei dir nicht mehr aufgetreten ?


Quellcode:

            ld      a, hi(buffer2_end)-2    
            cp      a,h
jp      nc,loop




EDIT:

Hab gesehen ! Mit watch auf HL im Breakpoint am Anfang von d_loop. Dann war es mit der o.g. Änderung von Dir schon beseitigt. Wenn viele Augen draufschauen, haben alle was davon. Das ist ja das Schöne an OpenSouce !

Ich werde den Buffer erhöhen. Die Anzahl der Loops bestimmt ja die Anzahl der Punkte "in der Tiefe" - mal sehen ob das klappt.

Grüße, Heiko

Dieser Beitrag wurde am 09.12.2024 um 14:02 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
058
09.12.2024, 13:50 Uhr
kaiOr

Avatar von kaiOr

Im Debugger vom JKCEMU unter Speicher einen Haltepunkt auf 0000h setzen.
Allerdings durchsucht das KC-CAOS nach Power-On,Reset,MENU immer den eingeblendeten Speicher nach Menüwörtern, also nicht wundern wenn der Debugger dann ständig stehen bleibt.

Ja, mit der Änderung war das zumindest weg.


Gruß,
Kai
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
059
09.12.2024, 14:03 Uhr
HeikoS




Zitat:
kaiOr schrieb
Im Debugger vom JKCEMU unter Speicher einen Haltepunkt auf 0000h setzen.
Allerdings durchsucht das KC-CAOS nach Power-On,Reset,MENU immer den eingeblendeten Speicher nach Menüwörtern, also nicht wundern wenn der Debugger dann ständig stehen bleibt.

Ja, mit der Änderung war das zumindest weg.


Gruß,
Kai



Gedankenübertragung ... habe es auch gerade gesehen und oben ergänzt ... Vielen Dank !
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
060
09.12.2024, 15:17 Uhr
HeikoS



@Kai:

"Die Dauer-Zugriffe auf 0000h sind allerdings wieder da. Während "djnz d_dloop" läuft HL gnadenlos über buffer2_end hinweg."

-> Das ist wirklich super, dass du das entdeckt hast. Das Schreiben auf 0000 kam ja durch Lesen von 0-Adressen aus Buffer2_end+n. Buffer2_end wird um 77h überschritten. Das ist nun durch Initialisieren bis Buffer2_end+100h gelöst.

@alle:

Nun sollten diese Probleme auf "echter Hardware" auch gelöst sein - wer testen möchte, ist herzlich eingeladen sich zu beteiligen.

https://github.com/haykonus/KC85-Demos

Grüße, Heiko

Dieser Beitrag wurde am 09.12.2024 um 16:50 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
061
09.12.2024, 15:20 Uhr
HeikoS




Zitat:
ralle schrieb
Heiko, kc8/2 ist nicht gleich kc85/2. Die erste Serie war noch etwas anders. Die 2te Serie hatte schon den Platinen-Satz des /3. Letztere meldet sich mit CAOS 2.2, während erste mit HC900-CAOS meldet.



Die Grafikhardware ist aber immer gleich gewesen, meines Wissens nach. Da sollte das Programm laufen, evtl. geht die Tastenabfrage über (IX+8) nicht überall ... guter Hinweis.

Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
062
09.12.2024, 16:15 Uhr
ralle




Zitat:
HeikoS schrieb

Zitat:
ralle schrieb
Heiko, kc8/2 ist nicht gleich kc85/2. Die erste Serie war noch etwas anders. Die 2te Serie hatte schon den Platinen-Satz des /3. Letztere meldet sich mit CAOS 2.2, während erste mit HC900-CAOS meldet.



Die Grafikhardware ist aber immer gleich gewesen, meines Wissens nach. Da sollte das Programm laufen, evtl. geht die Tastenabfrage über (IX+8) nicht überall ... guter Hinweis.

Grüße, Heiko



Das Problem liegt eher im ROM. Da gehen einige Module nicht.

Achso, funktioniert jetzt störungsfrei.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700

Dieser Beitrag wurde am 09.12.2024 um 16:41 Uhr von ralle editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
063
09.12.2024, 16:54 Uhr
HeikoS



@ralle:
Danke für die Rückmeldung, d.h. es läuft auf deinem KC85/5 ?

Im JKCEMU funktioniert das Programm auf allen Rechnern: HC900, KC85/2-5, inkl. Tastenabfrage. Modulkompatibiliät wird evtl. beim M066 noch interessant ...

Grüße, Heiko

Dieser Beitrag wurde am 09.12.2024 um 16:57 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
064
09.12.2024, 16:58 Uhr
ralle



Ja, allerdings ist der mit 4.8 nicht aufgebaut, sondern nur der mit 4.5
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
065
09.12.2024, 17:07 Uhr
HeikoS



@ralle:

Super, die CAOS-Version spielt scheinbar keine Rolle, es werden ja auch gar keine Funktionen des CAOS benutzt, ausser die Abfrage der Tasten mit (IX+8). HC900-CAOS, CAOS 2.2, 3.1, 4.2, 4.8 wurden im JKCEKU zum Test genutzt.



@alle:

Wenn noch weitere positve Rückmeldungen kommen, würde ich mal eine Version 1.0 im GitHub anlegen.

Grüße, Heiko

Dieser Beitrag wurde am 09.12.2024 um 19:11 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
066
09.12.2024, 17:37 Uhr
ralle



Das M066 hat eine Kennung, die du suchen lassen kannst. Also nicht nur eine Hardware Adresse 56d sondern auch ein Modulsteuerbyte.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
067
09.12.2024, 19:19 Uhr
HeikoS




Zitat:
ralle schrieb
Das M066 hat eine Kennung, die du suchen lassen kannst. Also nicht nur eine Hardware Adresse 56d sondern auch ein Modulsteuerbyte.



Ja, das wäre das nächste Projekt, aber ich werde jetzt erstmal ein wenig Pause machen. Für den Sound könnte noch wichtig sein, dass der Spectrum-Original-Code den V-Sync-Interrupt benutzt, um aus einem HALT heraus, das Programm synchron zum V-Sync abzuarbeiten. Für die Grafikausgabe hat das keine Bedeutung, aus meiner Sicht.

Wenn da jemand Lust drauf hat und Erfahrung mit dem M066 hat, wäre das nicht schlecht. Ich könnte noch den ZX-Spectrum-Code einbauen und auskommentieren.

Vielen Dank an alle, die mitgemacht haben !

Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
068
10.12.2024, 13:01 Uhr
ralle



Das ist nicht das Modulsteuerbyte, sondern das Kennbyte. Das kann ausgelesen werden. Der AY hängt ständig am Bus, nur getrennt mit einem 244. Der kann nicht separat geschalten werden, da reicht es, einfach in die Register zu schreiben.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
069
10.12.2024, 14:01 Uhr
kaiOr

Avatar von kaiOr

@ralle: Hast Du in die orig. Demo mal reingehört? Ich würde es so umschreiben:
-laufender Kompressor hinter Gipskarton-Trennwand (inkl. Lastwechsel + eiernde Riemenscheibe)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
070
10.12.2024, 14:07 Uhr
HeikoS



@Kai:
Hast Du es in dem Video angehört oder auf einem Speccy/Emulator ?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
071
10.12.2024, 14:19 Uhr
kaiOr

Avatar von kaiOr

Habe nur im Video reingehört.
So ne Art Rasentrimmer-Geräusch mit bewegungsabhängiger Frequenz (wenn die Pixel enge Kurven machen oder sich schneller bewegen) wäre vielleicht passender.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
072
10.12.2024, 14:27 Uhr
HeikoS



Ak, ok, - im Video das geht ja noch, ich hatte es mal auf einem, scheinbar falsch konfigurierten, Emulator gehört. Das war nur "Geknatter" ... :-) Naja, das ist Geschackssache, in Kommentaren zur Original-Demo war man von dem "angenehmen sonoren" Brummen begeistert ... da sind ja wahrscheinlich eh Techno-Nerds die Zielgruppe ...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
073
12.12.2024, 01:03 Uhr
Crawler

Avatar von Crawler

Hallo, ich finde auch, daß dies ein sehr schönes Projekt ist und wollte mich gerne beteiligen.

Unter https://gitlab.com/stefan_koch/gleest-screensaver findet ihr meinen Proof-of-Concept-Entwurf des Bildschirmschoners.

Als Timer wird die interne CTC (Kanal 2) verwendet. Das Programm wurde ans Ende des RAM 4 Bereichs verschoben, um nicht von anderen Anwendungen überschrieben zu werden.
Das funktioniert soweit bereits ganz gut. Es gibt aber sicherlich noch Möglichkeiten, etwas daran zu verbessern.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
074
12.12.2024, 08:08 Uhr
HeikoS



@Crawler:

Grandios ! Das ist wirklich super, wie hier gemeinsam tolle Dinge entstehen. Das macht wirklich Spaß !

Eine Kleinigkeit noch: Du bist in das gleiche Problem, wie ich gelaufen. BUFFER2_END wird vom Algorthmus "gnadenlos" überrannt (O-Ton KaiOr ;-) s. <060> und muss noch über BUFFER2_END hinaus initialisiert werden oder, da der Buffer jetzt schon länger als im Original ist (sieht man auch an der Anzahl der Punkte in den Linien), einfach in Zeile 294 (BUFFER2_END)-2 setzen. Sonst wird wieder 0000 beschrieben, was im Emulator nichts ausmacht, aber auf HW immer zu Problemen führte.

EDIT:

BUFFER2_LEN ist im Original 900H, jetzt ist 1000H eingestellt, das erklärt die hohe Anzahl der Punkte in den Linien (müsste A00H sein) und dann (BUFFER2_END)-2. Oder BUFFER2_LEN = 900H und beim Initialisieren noch 100H draufgeben ... (so hatte ich es gemacht).

@Kai:

"Habe nur im Video reingehört.
So ne Art Rasentrimmer-Geräusch mit bewegungsabhängiger Frequenz (wenn die Pixel enge Kurven machen oder sich schneller bewegen) wäre vielleicht passender."

Das wäre eine schöne Erweiterung ! Wir machen ja kein Size-Coding und könnten uns "austoben" ;-)

@BICa5120:

"Ich freue mich echt, dass sich in Sachen Software und Demo wieder ein bisschen was tut auf unseren alten Kisten ;-) . ( Hier speziell Grafikeffekte)"

Das finde ich auch. Matthias wäre ja der Spezi, um das evtl. auch auf den BIC zu portieren.

Viele Grüße und allen eine schöne Vorweihnachtszeit !
Heiko

Dieser Beitrag wurde am 12.12.2024 um 11:59 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
075
12.12.2024, 15:54 Uhr
ralle



Der Bildschirmschoner für ML-DOS ist eine echte COM-Datei. Also wirksam unter CPM.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
076
13.12.2024, 08:21 Uhr
HeikoS



Wer hier mal mitgelesen hat, wundert sich vielleicht über manche Diskussionen über „BUFFER“ etc. Es ist ja schon eine etwas ungewöhnliche Art, wie das Programm (GleEst-Portierung) für den KC85/3/4 entstanden ist. Quelle war die Arbeit von Oleg Senin im Rahmen eines Size-Coding-Wettbewerbs. Ziel ist es dort, möglichst spektakuläre Effekte in Programmen mit der Länge von Zweier-Potenzen (128, 256, 512…) unterzubringen. Das ist dann eher ein Denk-Sport, als Software-Entwicklung ;-) . Oleg’s Programm ist zwar genau 256 Byte lang, verwendet aber RAM an beliebiger Stelle mit beliebiger Länge. Wie sind da eigentlich die Regeln? Als braver, normaler Programmierer kenne ich mich da nicht aus … ;-)

In GleEst werden RAM-Bereiche ab A100h und B700h benutzt. Das Programm selbst liegt auf 8000h-80FFh. Für die Portierung sollte der RAM natürlich nicht „irgendwo“ liegen. Im Quelltext wird HL mit B700h belegt und das Ende der Schleife „loop“ durch Test von Bit 6 in H geprüft (B7h -> C0h). L wird nicht geprüft. Im RAM-Bereich B700h-C000h liegen Zeiger auf VRAM-Adressen, die das Programm bis C000h füllt, dann diese Zeiger liest und damit dann Schreibzugriffe durchführt. Der Algorithmus LIEST aber über C000h hinaus auch Werte, die das Programm niemals definiert hat. Daraus resultieren Schreibzugriffe mit diesen undefinierten Zeigern. Wenn der RAM mit 00 gefüllt ist, dann auf Adr. 0000. Das kann man mit den herrlichen Werkzeugen im JKCEMU sehen. Durch Initialisieren der entsprechenden RAM-Bereiche, konnte das „gebändigt“ werden. Das ist aber nur meine Analyse. Vielleicht sehen da ja Andere noch mehr.

Beim Size-Coding ist scheinbar alles erlaubt, was funktioniert ;-) Matthias kann da ja bestimmt mehr dazu sagen. Von ihm stammt auch der Hinweis auf ein sehr interessantes Tool, ein Live-Coding-Tool für den ZX-Spectrum (kann man sowas eigentlich noch ins Deutsche übersetzen … ;-).

https://bazematic.demozoo.org/

Code eintippen, Ctrl-S und es läuft … unfassbar. Wer Lust hat, kann GleEst dort auch ausprobieren … und sofort testen. Ich habe die minimal angepasste Original-Version mal ins GitHub gepackt:

https://github.com/haykonus/KC85-Demos/blob/main/GleEst_KC85/gleest_ZX128/gleest-bazematic.asm

Einfach mit Copy/Paste kopieren und in Bazematic einfügen und dann -> Ctrl-S

Viel Spaß damit und Danke an Matthias für diesen Tipp, schon im hier im Austausch zum BIC-Thread.
Heiko


EDIT:

Ich hatte ja viel probiert im Zuge der Portierung. Hier noch das Original als BIN/ASM-File, welches mit dem Arnold-Assembler übersetzt werden kann:

https://github.com/haykonus/KC85-Demos/tree/main/GleEst_KC85/gleest_ZX128

Das kann man auch im JKCEMU schön testen:

- ZX Spectrum+ 128 einstellen
- 128 BASIC starten
- BIN-Datei laden auf 8000H
- Mit „PRINT USR 32768“ GleEst starten
- im Debugger die RAM-Zelle 0000 überwachen

Dieser Beitrag wurde am 13.12.2024 um 10:12 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
077
16.12.2024, 08:05 Uhr
HeikoS



Stefan (Crawler) hat die kleine Änderung (s. 074) noch eingebaut. Super! Drei Verbesserungen gibt es damit:

- Kein undefiniertes Schreiben auf RAM/ROM-Zellen.
- Es läuft schneller.
- Das Programm konnte noch weiter nach oben im RAM verschoben werden.

s. https://gitlab.com/stefan_koch/gleest-screensaver/

Ich bin so begeistert, dass ich nun auch endlich meinen KC85/4 einmal hervorgeholt habe. Noch einmal vielen Dank an „Mobby5“ für das Spenden der Geräte und „wpwsaw“ für die unermüdliche Arbeit beim Abholen/Verteilen/Versenden ! Sicherungshalter ist erstmal provisorisch gereinigt:






Zitat:
ralle schrieb
Der Bildschirmschoner für ML-DOS ist eine echte COM-Datei. Also wirksam unter CPM.



Der Bildschirmschoner von Stefan geht unter CAOS jetzt auch sehr gut, auch wenn man z.B. mit Basic arbeitet. Aber du könntest ja mal testen, ob das z.B. unter FORTH, EDAS … auch funktioniert.

Grüße, Heiko

Dieser Beitrag wurde am 16.12.2024 um 11:18 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
078
16.12.2024, 10:54 Uhr
ralle



Schaue ich mal heute abend. Also, EDAS ist kein Problem. Eher WordPro und UniPic. Diese sind nun mal Speicherintensiv.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700

Dieser Beitrag wurde am 16.12.2024 um 17:42 Uhr von ralle editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
079
16.12.2024, 20:47 Uhr
HeikoS



Hallo Ralf,

danke für Deine stetigen Rückmeldungen! Ja, eine Möglichkeit wie bei CP/M den TPA zu verkleinern, so dass sich alle anderen Programme daran halten können, gibt es ja beim CAOS nicht, wie „susowa“ schon in <033> schrieb.

Stefan (Crawler) schreibt auf GitLab: „Der Bildschirmschoner wird ans Ende des RAM 4 ab Adresse 7000H geladen und kann somit i.d.R. nicht von anderen Programmen überschrieben werden. Der RAM-Bereich von 7500H-8000H dient hierbei als Arbeitsspeicher.“ In der Regel geht es gut, muss aber nicht.

Für mich ist dieses kleine Projekt auf dem KC85/3/4 damit beendet. Hat viel Spaß gemacht und habe viel gelernt dabei. Die Anlass war gut, um nun endlich den echten KC85/4 in Gang zu bekommen. Wer mag, kann ja noch den Klang dazu bauen mit dem M066. Ich muss immer noch lachen über Kai’s Beschreibung: „laufender Kompressor hinter Gipskarton-Trennwand (inkl. Lastwechsel + eiernde Riemenscheibe)“ :- )))). Müsste man dann besser machen.

Viele Grüße an alle die mitgemacht haben und an die „Mitleser“ !
Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
080
17.12.2024, 06:56 Uhr
ralle



Nein, es gibt in der PC-Betriebsart ungenutzten RAM, der ansprechbar ist, aber nicht wirklich genutzt werden kann. Dahin wird das Faden. Com geladen.

Frag einfach Mario.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
081
17.12.2024, 10:51 Uhr
HeikoS



Faden97 gibt es ja sowohl als Driver für ML-DOS (läuft vermutlich auch unter MicroDOS, was ja wiederum eine CP/M 2.2-Adaption ist), als auch für CAOS. Es ist ja unbestritten, dass es unter ML-DOS/MicroDOS in einem geschützten Bereich laufen kann, unter CAOS vermutlich nicht.

Aber wie gesagt, für mich ist das Projekt an dieser Stelle beendet. Weiter einsteigen in die Programmierung von ML-DOS-Drivern möchte ich nicht. Es ist ja alles offengelegt zu GleEst für den KC85/3/4 von Stefan und mir. Vielleicht hat ja jemand der KC-Experten Lust, das auch für ML-DOS/MicroDOS umzusetzen.

Viele Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
082
17.12.2024, 15:37 Uhr
susowa




Zitat:
HeikoS schrieb
Faden97 gibt es ja sowohl als Driver für ML-DOS ... , als auch für CAOS.



Die erste Hälfte der FADEN-Geschichte hat GleEst immerhin schon geschafft.

FADEN91.KCC -> FADEN94.KCC -> FADEN97.KCC

Bis dahin war das eine CAOS-Demo.

Daraus wurde mit FADEN.COM und danach (mit der Entwicklung des DRIVER-Konzepts unter den K85 CP/M's) mit FADEN.DRV der erste richtige Bildschirmschoner für den KC85/4.

Unter CP/M läuft der Code direkt im D001 des KC85/4 und ist damit geschützt bezogen auf die CP/M - Umgebung und seine Programme.


MfG susowa
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
083
17.12.2024, 17:35 Uhr
ralle



Hier, wenn du Faden dir anschauen möchtest
http://kc85.info/index.php/download.html?view=download&id=335:m066-soundmodul-faden-demo&catid=22
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
084
17.12.2024, 20:50 Uhr
Dresdenboy



Ihr seid alle so fleißig!

Ich habe auch mal etwas weitergearbeitet. Es wird sich jetzt auch wieder mehr Zeit finden. Die Bildkonvertierung u. Lightmap für das Bumpmapping sind fertig. Aber ich wollte schon für das Plasma einen Farbverlaufsgenerator im Textmodus haben. Ziel ist, aus einem berechneten RGB-Verlauf (Beispiele für so etwas hier: http://www.sizecoding.org/wiki/Byte_Battle#Palettes - wo 16 Farben mit 8-bit RGB-Anteilen definiert werden) dann die entspr. Zeichen- und Farbcodes zu erzeugen. Ein erster Stand in Python für Graustufen auf dem BIC:

Quellcode:
print("5 SCREEN 0")
cols = [(0,0), (8, 80), (7, 160), (15, 240)]    # Vordergrundfarben (schwarz, grau, weiß)
bcols = [(0,0), (7, 160)]                       # Hintergrundfarben (schwarz, grau)
# Tupel als (ASCII code, Schattierung) für Zeichen von 0 bis 100% Füllung
shade = [(255, 0.0), (176, 0.35), (177, 0.5), (178, 0.8), (219, 1.0)]
line = 10                                       # Zähler für Zeilenausgabe
for intensity in range(0,256,16):               # Graustufen bis 255 in 16er Intensitätsschritten
  d=1000.0;i=0;b=0;s=1.0;c=0                    # Initialwerte für gefundene Kombination
  for asc, sh in shade:                         # Schattierungskombinationen durchlaufen
    for idx, lum in cols:                       # Farben mit Index in Palette u. Helligkeit
      for bidx, blum in bcols:                  # + Hintergrundfarben
        td = abs((lum*sh+blum*(1.0-sh))-intensity) # Berechnung Farbabstand zu bisher gefundener
        if td<d and (asc>178 or abs(lum-blum)<100): # ist Farbe näher dran und als Mischfarbe nicht zu krass
          d=td;i=idx;b=bidx;s=sh;c=asc
  print(f"{line} COLOR {i},{b}:PRINT CHR$({c});") # Ausgabe BASIC-Zeile
  line=line+10                                  # Zeilenzähler



Das sollte diesen Code erzeugen:

Quellcode:
5 SCREEN 0
10 COLOR 0,0:PRINT CHR$(255);
20 COLOR 8,0:PRINT CHR$(176);
30 COLOR 8,0:PRINT CHR$(176);
40 COLOR 8,0:PRINT CHR$(177);
50 COLOR 8,0:PRINT CHR$(178);
60 COLOR 8,0:PRINT CHR$(219);
70 COLOR 8,7:PRINT CHR$(178);
80 COLOR 8,7:PRINT CHR$(177);
90 COLOR 8,7:PRINT CHR$(176);
100 COLOR 8,7:PRINT CHR$(176);
110 COLOR 0,7:PRINT CHR$(255);
120 COLOR 15,7:PRINT CHR$(176);
130 COLOR 15,7:PRINT CHR$(176);
140 COLOR 15,7:PRINT CHR$(177);
150 COLOR 15,7:PRINT CHR$(178);
160 COLOR 15,0:PRINT CHR$(219);



Ergebnis:


Nächstes Ziel: Volle RGB-Farben. Die RGBI-Anteile kenne ich. Das sollte sich leicht generieren lassen.

VG,
Matthias
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...

Dieser Beitrag wurde am 18.12.2024 um 10:05 Uhr von Dresdenboy editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
085
17.12.2024, 22:07 Uhr
HeikoS



@susowa:
Danke für die Erläuterungen. CP/M läuft ja, wie ich gelesen habe, direkt im D004/008 und das D001 wird im CAOS-Mode wie ein Terminal angebunden, bzw. können da natürlich ideal von CP/M abgekoppelte Programme laufen. Ein interessantes Konzept.

@ralle:
Danke für den Link. Probiere ich gleich mal aus.

@Matthias:
Schön, dass du wieder was programmierst. Eine Frage zum BIC: Kann man da den VRAM direkt schreiben/lesen ? Ist das irgendwo gut beschrieben ?

EDIT: Habe schon was gefunden: Anhang Programmierhandbuch (S.9-15): https://www.sax.de/~zander/bic/bc_phba.pdf

Und dann kommt man nur über Port 98,99 an den VRAM ran ?
So wie hier z.B. ? : https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=20544#245482

Grüße, Heiko

Dieser Beitrag wurde am 18.12.2024 um 00:04 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
086
18.12.2024, 01:23 Uhr
Dresdenboy



@Heiko:
Leider geht es nicht direkt, sondern nur über die 2 Ports des GDC. Aber zumindest lassen sich Modi einstellen , wo man über einen Port direkt hintereinander schreiben kann. Du hattest das selbst schonmal ausprobiert. Das war hier: https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=20544#245482

Im Prinzip wird erst einmal über ein CURS-Kommando das Startwort gesetzt (den 3. Parameter für Auswahl eines Pixels innerhalb des Worts braucht man nicht immer). Dann wird ggf. eine Maske für das Word gesetzt. Und schließlich noch über WDAT-Kommando der Schreibmodus (z.B. word, low byte, high byte in den Varianten überschreiben, setzen, löschen oder XOR-Verknüpfung). Wenn danach Bytes ausgegeben werden, landen diese linear im Bildspeicher und die Adresse zählt hoch. Wenn man den low byte oder high byte Modus nutzt, wird m.W. das andere Byte als 0 angenommen. Aber dann reicht auch 1 Byte in den Port zu schreiben, um 1 Wort zu füllen. Wobei das Füllen auch mit dem GDC selbst gemacht werden kann.

Falls man sehr schnell Bytes ausgibt, sollte auch das Status-Byte getestet werden, ob der FIFO Platz hat. Details siehe GDC-Doku.

VG,
Matthias
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...

Dieser Beitrag wurde am 18.12.2024 um 10:09 Uhr von Dresdenboy editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
087
18.12.2024, 12:56 Uhr
Dresdenboy



Ich habe mal den BIC-Mischfarbengenerator fertiggestellt. Das scheint erst einmal zu funktionieren. Für andere Plattformen müsste die Berechnung der Farben (ggf. als vorgegebene Tabelle) für R, G, B, I, BR, BG, BB angepasst werden. Für den ZX Spectrum ist es sicher nicht so kompliziert.


Quellcode:
RF=0.299                                        # Faktor für Umrechnung Rot -> Graustufen
GF=0.587                                        # Faktor für Umrechnung Grün -> Graustufen
BF=0.114                                        # Faktor für Umrechnung Blau -> Graustufen
print("5 SCREEN 0")                             # Screenmode ohne Lücken zw. Zeilen
# Tupel als (ASCII code, Schattierung) für Zeichen von 0 bis 100% Füllung
shade = [(255, 0.0), (176, 0.35), (177, 0.5), (178, 0.8), (219, 1.0)]
line = 10                                       # Zähler für Zeilenausgabe
for coloridx in range(16):                      # Farbindex
    d=1000.;ci=0;bi=0;s=1.;ch=0                 # Initialwerte für gefundene Kombination
    # Formel von http://www.sizecoding.org/wiki/Byte_Battle#Palettes:
    # poke(16320+j,s(j)^2*255)
    # d.h. j (von 0 bis 47) läuft über Paletteneinträge R0 G0 B0 R1 G1 B1 ...
    # Anpassung für Script:
    #   - Mapping color index -> RGB-Anteil
    #   - Skalierung von 255 auf 240 geändert
    #   - Begrenzung nach unten auf 0
    CR = max(0, sin(coloridx*3  )**2 * 240)     # berechn. Rot-Anteil
    CG = max(0, sin(coloridx*3+1)**2 * 240)     # berechn. Grün-Anteil
    CB = max(0, sin(coloridx*3+2)**2 * 240)     # berechn. Blau-Anteil
    for asc, sh in shade:                       # Schattierungskombinationen durchlaufen
        for col in range(16):                   # Farben mit Index in Palette u. Helligkeit
            I=(col>>3 & 1)*80                   # Intensität
            B=(col    & 1)*160 + I              # Blau
            G=(col>>1 & 1)*160 + I              # Grün
            R=(col>>2 & 1)*160 + I              # Rot
            for bcol in range(8):               # + Hintergrundfarben
                BB=(bcol    & 1)*160            # Blau
                BG=(bcol>>1 & 1)*160            # Grün
                BR=(bcol>>2 & 1)*160            # Rot
                # Berechnung Farbabstand zu bisher gefundener
                td = (abs((R*sh+BR*(1-sh))-CR) +# Delta Rot
                      abs((G*sh+BG*(1-sh))-CG) +# Delta Grün
                      abs((B*sh+BB*(1-sh))-CB)) # Delta Blau
                # Delta Vorder-/Hintergrund wg. krasser Sprünge
                delta_FG_BG = abs(R-BR)*RF+abs(G-BG)*GF+abs(B-BB)*BF
                # ist Farbe näher dran und als Mischfarbe nicht zu krass?
                if td<d and (asc>178 or delta_FG_BG<100):
                    d=td;ci=col;bi=bcol;s=sh;ch=asc   # bisher bestpassende Farbkombi merken
    print(f"{line} COLOR {ci},{bi}:PRINT CHR$({ch});") # Ausgabe BASIC-Zeile
    line=line+10                                # Zeilenzähler


Ergebnis:

Quellcode:
5 SCREEN 0
10 COLOR 0,3:PRINT CHR$(255);
20 COLOR 9,3:PRINT CHR$(176);
30 COLOR 9,3:PRINT CHR$(178);
40 COLOR 9,1:PRINT CHR$(178);
50 COLOR 9,1:PRINT CHR$(178);
60 COLOR 9,5:PRINT CHR$(178);
70 COLOR 9,5:PRINT CHR$(176);
80 COLOR 0,5:PRINT CHR$(255);
90 COLOR 12,5:PRINT CHR$(176);
100 COLOR 12,5:PRINT CHR$(177);
110 COLOR 12,4:PRINT CHR$(178);
120 COLOR 12,4:PRINT CHR$(178);
130 COLOR 12,6:PRINT CHR$(178);
140 COLOR 12,6:PRINT CHR$(176);
150 COLOR 0,6:PRINT CHR$(255);
160 COLOR 14,6:PRINT CHR$(176);


Ausgabe mit Vergleich:


VG,
Matthias
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...

Dieser Beitrag wurde am 18.12.2024 um 12:57 Uhr von Dresdenboy editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
088
18.12.2024, 17:21 Uhr
HeikoS



@Matthias:

Schöner, gleichmäßiger Verlauf ! Machst Du damit dann noch weitere Plasmen ?

@Z9001-Fans:

GleEst gibt es jetzt auch für die Farbversion + KRT-Erweiterung des Z9001. Das Farb-Attribut ist 8x8 Pixel groß wie beim ZX-Spectrum. Ich konnte es nicht lassen ...


Dieser Beitrag wurde am 18.12.2024 um 20:15 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
089
18.12.2024, 19:03 Uhr
BICa5105

Avatar von BICa5105

Wann gibt es GleEst für den BIC ;-) ?
--
https://www.youtube.com/@robotronA5105
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
090
18.12.2024, 20:23 Uhr
HeikoS




Zitat:
BICa5105 schrieb
Wann gibt es GleEst für den BIC ;-) ?



Könnte der Weihnachtsmann bringen ... ;-) Hatte ja oben in <085> schon mal angefragt, wie man an den VRAM des BIC rankommt. Wenn's sonst niemand machen will, würde ich es mal versuchen. Alles über IO-Befehle zu adressieren, müsste eigentlich auch gehen. Mal sehen wie schnell es dann noch ist.

Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
091
19.12.2024, 16:01 Uhr
BICa5105

Avatar von BICa5105


Zitat:
HeikoS schrieb

Zitat:
BICa5105 schrieb
Wann gibt es GleEst für den BIC ;-) ?



Könnte der Weihnachtsmann bringen ... ;-) Hatte ja oben in <085> schon mal angefragt, wie man an den VRAM des BIC rankommt. Wenn's sonst niemand machen will, würde ich es mal versuchen. Alles über IO-Befehle zu adressieren, müsste eigentlich auch gehen. Mal sehen wie schnell es dann noch ist.

Grüße, Heiko



Wenn du den Weihnachtsmann spielen möchtest ...gern ;-). Ich würde mich freuen.

LG Cornelius
--
https://www.youtube.com/@robotronA5105
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
092
19.12.2024, 22:58 Uhr
HeikoS



@BICa5105:

Zum "Weihnachtsmann" will ich mich ja nicht machen ;-) ... aber mal sehen, ob zw. den Feiertagen Lust dazu aufkommt und noch Zeit dazu ist.

@Alle:

Die GleEst-Version für KC85/1 (Z9001, KC87) mit KRT-Grafik ist jetzt im GitHub:

https://github.com/haykonus/KC85-Demos/blob/main/README.md#gleest-f%C3%BCr-kc851

EDIT: Wenn jemand diese KRT-Erweiterung gebaut hat, würde ich mich über eine Rückmeldung zum Test auf realer Hardware freuen !

Grüße, Heiko

Dieser Beitrag wurde am 19.12.2024 um 23:09 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
093
20.12.2024, 07:56 Uhr
HeikoS



Huch ... ohne KRT-Grafik gibt es einen "kontrollierten Absturz" ;-) ... GleEst für Zeichengrafik könnte man ja auch noch machen ...

Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
094
20.12.2024, 10:48 Uhr
FL



Ich habe die /3er-Version jetzt auch am echten KC ausprobiert. Paßt!

zu #74
Ich glaube hier:
Quellcode:

loop:  
        ;ld     bc,10FFh        ; nur wenige Punkte (für Test)
        ld      bc,3F06h        ; BH = Abstand Punkte, BL = Anzahl Punkte
                        
        d_loop:


muß LD BC,3F03H hinein.

Wenn ich das richtig sehe, soll BUFFER2 in 12 Blöcke zu je 192Byte aufgeteilt werden.
Jeder Block speichert die Positionen für bis zu 64 Pixel.
Der Wert im Register C dient dazu HL nach jedem DJNZ-Durchlauf auf den Anfang des nächsten Blocks zu setzen.
Nach dem 12.Durchlauf steht dann HL genau auf BUFFER2_END.

Gruß
Frank.

Dieser Beitrag wurde am 20.12.2024 um 10:49 Uhr von FL editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
095
20.12.2024, 11:50 Uhr
HeikoS



Hallo Frank,

das könnte sein. Am besten mal ausprobieren. 3F06 ist aus dem Original-Spectrum-Code.

Hiermit kannst du es sofort und Live testen:

https://bazematic.demozoo.org/

Ich habe die minimal angepasste Original-Version mal ins GitHub gepackt:

https://github.com/haykonus/KC85-Demos/blob/main/GleEst_KC85/gleest_ZX128/gleest-bazematic.asm

Einfach mit Copy/Paste kopieren und in Bazematic einfügen und dann -> Ctrl-S

Grüße, Heiko



Zitat:
FL schrieb
Ich habe die /3er-Version jetzt auch am echten KC ausprobiert. Paßt!

zu #74
Ich glaube hier:
Quellcode:

loop:  
        ;ld     bc,10FFh        ; nur wenige Punkte (für Test)
        ld      bc,3F06h        ; BH = Abstand Punkte, BL = Anzahl Punkte
                        
        d_loop:


muß LD BC,3F03H hinein.

Wenn ich das richtig sehe, soll BUFFER2 in 12 Blöcke zu je 192Byte aufgeteilt werden.
Jeder Block speichert die Positionen für bis zu 64 Pixel.
Der Wert im Register C dient dazu HL nach jedem DJNZ-Durchlauf auf den Anfang des nächsten Blocks zu setzen.
Nach dem 12.Durchlauf steht dann HL genau auf BUFFER2_END.

Gruß
Frank.


Dieser Beitrag wurde am 20.12.2024 um 11:50 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
096
21.12.2024, 00:12 Uhr
HeikoS



@FL:

Hallo Frank,
jetzt weiß ich, was du genau meinst:



Block 1 müsste auf 5C0h beginnen (nächster 192-Byte-Blockanfang). Das funktioniert auch mit:

LD BC, 3F03H

Dann würde sich das Buffer2-Ende nicht so weit nach hinten verschieben. Sehr gut analysiert !!! Einfach super, wenn mehrere Augen raufschauen ! Das war zwar im Original-Code so enthalten, ist aber auch aus meiner Sicht nicht richtig.

Das habe ich auch gleich für die KRT-Version für den Z9001 gebrauchen können. Dort werden nicht 3 Bytes (2 Bytes Adr. + 1 Byte Pixel) pro Pixel benötigt, sondern 4 (2 Bytes Adr. + 1 Byte Pixel + 1 Byte BWS-Bank). Ein Block ist 256 Bytes groß. Hier war es sehr wichtig, dass die Intialisierung des Buffer2 genau zum Füllen durch den Algorithmus passt, also der nächste Block wirklich wieder nach 256 Bytes beginnt. Das hatte ich nur durch einen Trick hinbekommen, nämlich immer FFh zum Füllen genommen, daraus ergibt sich immer die Adresse FFFFh und diese hatte ich etwas aufwendig abgefangen bei Schreibzugriffen. Ist jetzt wesentlich besser gelöst. Danke für Deine Mitarbeit !

EDIT: aktualisierte Z9001 KRT Version ist jetzt auch dem GitHub:
https://github.com/haykonus/KC85-Demos/tree/main/GleEst_KC85-1_KRT

EDIT2: aktualisierte KC85/3/4 Versionen sind jetzt auch dem GitHub:
https://github.com/haykonus/KC85-Demos/tree/main/GleEst_KC85

EDIT3: aktualisierte Z1013 KRT Version istjetzt auch dem GitHub:
https://github.com/haykonus/Z1013-Demos/tree/main/GleEst_Z1013_KRT

Viele Grüße, Heiko

Dieser Beitrag wurde am 21.12.2024 um 15:56 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
097
21.12.2024, 12:48 Uhr
Dresdenboy




Zitat:
HeikoS schrieb

Zitat:
BICa5105 schrieb
Wann gibt es GleEst für den BIC ;-) ?



Könnte der Weihnachtsmann bringen ... ;-) Hatte ja oben in <085> schon mal angefragt, wie man an den VRAM des BIC rankommt. Wenn's sonst niemand machen will, würde ich es mal versuchen. Alles über IO-Befehle zu adressieren, müsste eigentlich auch gehen. Mal sehen wie schnell es dann noch ist.

Grüße, Heiko


Hallo zusammen,

ich bin endlich mal wieder am PC. Die Tage sind aktuell sehr familienlastig.

Ich selbst möchte auch lieber erst das Bumpmapping fertigstellen. Aber für den BIC GleEst-Port kann ich ja weiterhin Infos liefern. Vermutlich ist das aber schon deutlich mehr Aufwand. Vllt. wäre da der Rückgriff auf ROM-Routinen am praktikabelsten.

Da wäre neben dem Grafikspeicherzugriff der richtige Grafikmodus interessant. Die Bildebenen sind ausführlich in bc_serv1.pdf ("Serviceunterlagen Teil 1" bei robbi) beschrieben.

Es gäbe da den Modus 320x200 in 16 Farben, wo jeweil 4 aufeinanderfolgende Bits die Farbe angeben. Das hieße über eine entspr. gesetzte Maske (z.B. 0000111100000000b) die Bits zu setzen, also auch 3 Kommando-Sequenzen (CURS + MASK + WDAT), was schon ein paar Zyklen frisst.

Ein anderer interessanter Modus könnte "Modus 3" aus der Serviceanleitung (S. 30) sein. Da wird der Zeichengenerator deaktiviert und die Speicherworte werden als 8-Pixel-Bitmuster + Attribut für die 8 Bits verarbeitet. Das käme den Block-Attribut-Modi auf einigen anderen Rechnern nahe. Adressieren ginge zwar auch über das CURS-Kommando und den dAD-Wert (direkte Nummer des gewünschten Bits), aber würde das Attribut wieder überschreiben. Hier wäre wohl ein entspr. Setzen der Maske mit dem Bit für ein Pixel im low byte und FFh als Attributmaske im höherwertigen Byte bzw. 0, falls man das Attribut nicht nochmal ändern möchte, wäre hier möglich.

Z.B. zum Setzen von Pixel 3 mit Farbe Rot vorn und Schwarz hinten wäre die Maske (im Dokument ist Bit 0 links): FF08h (FF ist das komplette Attribut-Byte u. 8 dann Pixel 3). Dann müsste 04 und auch 08 oder einfach FF per WDAT-Kommando geschrieben werden, um das Attribut auf 04 zu setzen und das Pixel.

Heiko und ich könnten das Technische mal genauer besprechen, da das auch hier nicht so einfach in Worte zu fassen ist. Auch die Entwicklung mit JKCEmu könnte schwierig werden, da es davon abhängt, was der Emulator vom GDC umgesetzt hat. Worte schreiben usw. ginge (also die 320x200-Modus in 16 Farben-Variante), aber bzgl. "Modus 3" müsste ich nochmal in die Sourcen schauen.

VG,
Matthias
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...

Dieser Beitrag wurde am 21.12.2024 um 13:20 Uhr von Dresdenboy editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
098
21.12.2024, 15:59 Uhr
HeikoS



@Matthias:

Können wir gerne machen, ich muss aber erstmal einen Grundkurs "Wie bediene ich einen BIC?" absolvieren ...

Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
099
21.12.2024, 17:21 Uhr
ralle



Dann wünsche ich dir viel Erfolg und Spaß beim bezwingen von Margots letzter Rache.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
100
Heute, 14:43 Uhr
kaiOr

Avatar von kaiOr


Zitat:
HeikoS schrieb
Wer mag, kann ja noch den Klang dazu bauen mit dem M066. Ich muss immer noch lachen über Kai’s Beschreibung: „laufender Kompressor hinter Gipskarton-Trennwand (inkl. Lastwechsel + eiernde Riemenscheibe)“ :- )))). Müsste man dann besser machen.

Oje, damit der Entwickler nun nicht sauer auf mich wird, habe ich den origin. Sound noch mit eingebaut:
https://github.com/haykonus/KC85-Demos/compare/main...pontacko:KC85-Demos:patch-1
-M066 muss stecken
-Start mit beliebigem Zusatz-Parameter, z.B.: GLEEST4 1

Für mehr fehlt mir aber auch der Fiduz.
So etwas wie einen simplen Soft-Reset beherrscht der AY-3-8912 nicht zufällig?

Gruß,
Kai
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
101
Heute, 19:08 Uhr
Klaus




Zitat:
HeikoS schrieb
...
EDIT: Wenn jemand diese KRT-Erweiterung gebaut hat, würde ich mich über eine Rückmeldung zum Test auf realer Hardware freuen !


Hallo Heiko,

da ich den KC87 nach laaaanger Zeit mal wieder aus der Versenkung geholt hatte (eigentlich wegen ELKO-Tausch), ist mir Dein Aufruf zum Test des GleEst auf der realen Hardware wieder in den Sinn gekommen. Hatte ja vor langer Zeit mal die KRT nachgerüstet.

Ist schon verrückt… wenn man einige Jahre die Kiste nicht in der Hand hatte… „wie ging das denn alles?“ … Irgendwie fängt man dann immer bei Null an …

Egal, mit einiger Leserei im Forum, habe ich es ohne Kassettenrecorder irgendwie hinbekommen.

Im KC87 habe ich neben der KRT-Grafik noch das KOMBI-Modul mit zwei Floppy-LW und das GUR-Modul stecken.
Also: Die Datei vom PC über USB zum KC87 auf CP/M Diskette transferiert. Dann mit dem DOSX (wie es Volker mal beschrieben hatte) das GLEEST.KCC gestartet.

Ergebnis … siehe Foto.
Läuft genau wie im JKCEMU … kein Absturz … auch nach 30 Minuten alles noch ok.
Fein gemacht!



Viele Grüße,
Klaus

PS: Schon verrückt, was Ihr Drei da zaubert. Hut ab!

Dieser Beitrag wurde am 22.12.2024 um 19:10 Uhr von Klaus editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
102
Heute, 19:50 Uhr
HeikoS



Kaum backt man mal ein paar Plätzchen, schon passiert hier richtig was ...

@Klaus:
Super ! Vielen Dank für den Test. Es freut mich immer besonders, wenn es denn auch wirklich auf der guten alten Hardware läuft. Dann hast Du bestimmt auch die Korrektur auf der Hauptplatine machen müssen ? Da gab es doch ein Problem mit M1 und IORQ bei INT-Annahme?. Dass ihr so etwas herausgefunden habt ... toll.

@KaiOr:
Das ist ja richtig cool. Hab's mal auf dem JKCEMU getestet. Für den "künstlerischen Ansatz" kannst Du ja nichts ... Ich bin aber nicht sicher, ob der JKCEMU das gut umsetzt. Habe aber leider kein M066. Der KC85/4 ist aber in Startvorbereitung. Das Original auf dem JKCEMU klingt eigentlich genau gleich, bis auf das hohe "Leiern", das ist beim KC viel lauter. Kannst ja mal vergleichen im JKCEMU. Hier die BIN:

https://github.com/haykonus/KC85-Demos/blob/main/GleEst_KC85/gleest_ZX128/gleest-zx128-as-8000H.bin

auf 8000h laden und in 128'er Modus: print usr 32768

@ralle:
Bin schon beim Laden und Speichern von BIN-Dateien über Kassette und *.RMC-Datei ... Wird schon

Viele Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
103
Heute, 21:21 Uhr
kaiOr

Avatar von kaiOr

@HeikoS: Mein M066 und so vieles andere liegt noch unaufgebaut...
Die ZX128-Variante klingt generell etwas tiefer würde ich sagen. Dass steht nun aber im JKCEMU nicht dabei, welchen Takt das emulierte M066 bekommt. Das echte Modul kann wohl gejumpert werden zwischen Systemtakt (~1,76Mhz) oder extra Quarz (typ. 2,00Mhz).

Grüße,
Kai
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
104
Heute, 22:41 Uhr
HeikoS



@kaiOr:
Aber es ist eine tolle Arbeit ! Ich würde es dann auch gerne bei mir übernehmen. Es wäre aber schön, wenn es mal auf einem echten M066 getestet würde. Vielleicht kann das ja mal jemand machen. Die BIN,KCC,WAV Dateien habe ich im Branch "patch-1" erzeugt bei mir:

https://github.com/haykonus/KC85-Demos/tree/patch-1/GleEst_KC85-4

Viele Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek