Welcome to Schneider / Amstrad CPC Forum. Please login or sign up.

16. April 2024, 21:14:37

Login with username, password and session length

Shoutbox

TFM

2024-04-08, 20:42:44
Happy Sonnenfinsternis!  :)

TFM

2024-01-15, 17:06:57
Momentan billige Farbbänder auf Ebay für PCW

Devilmarkus

2023-07-09, 10:37:40
Zweiter 👋😂🤣

TFM

2023-06-13, 14:21:49
Sommerloch!

TFM

2023-05-30, 17:00:20
Erster ;-)

Recent

Members
Stats
  • Total Posts: 11,691
  • Total Topics: 1,334
  • Online today: 189
  • Online ever: 1,724
  • (16. January 2020, 00:18:45)
Users Online
Users: 1
Guests: 96
Total: 97

96 Guests, 1 User
Rennert

Ich brauche bitte einmal 3 Lösungen für FutureOS um weiter zu Spielen damit.

Started by cpcman, 08. February 2024, 09:03:01

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

cpcman

Hallo, guten Tag

Ich brauche bitte einmal 3 Lösungen für FutureOS um weiter zu Spielen damit.

Habe jetzt schon viele Dinge kennengelernt von FutureOS mit deiner tollen Hilfe.
Um meine Projekte hinsichtlich der wenigen Grafikeigenschaften von FutureOS zu verwirklichen fehlen mir Dinge für den Textmodus um es  damit zu ersetzen.

1. Den Textmodus in den Bereich ab &4000 zu verlegen
2. Das auch der Text auf eine Bildgrafik funktioniert (der Text vom CPC ist ja auf Grafik aufgebaut.
3. Den Text an den Stellen durchsichtig zu machen wo keine Bits gesetzt sind.

Da du eine sehr großes Wissen über den CPC hast , siehe die Erschaffung von FutureOs , nehme ich an das du diese Lücke mit deinem Wissen mit leichtigkeit füllen kannst für FutureOS.

Würde mich freuen , damit ich weiterhin das Spielen mit FutureOS machen kann in Zukunft.

Danke.

TFM

1. Bildschirm nach &4000 verlegen (siehe OS-LIB.MAX). Damit zeigt der CRTC das RAM von &4000 bis &7FFF als Bildschirmspeicher an.

;Set start address of the Video-RAM to &4000
;
;changes BC and CRTC register 12
 LD  BC,&BC0C ;C = CRTC register 12
 OUT (C),C    ;Select register 12 using port &BCxx
 LD  BC,&BD10 ;C = Value &10 for the selected CRTC register
 OUT (C),C    ;and send 'C' to preselected CRTC register 12 using port &BDxx


2. Text kann jederzeit in einen Grafik geschrieben werden, allerdings wird Text immer in den RAM Bereich von &C000 bis &FFFF geschrieben. Denn dort ist üblicherweise der Bildschirm-Speicher.

Um in ein Bild Text zu schreiben, schiebt (oder läd) man also das Bild an &C000. Anschließend kann man es ja wieder woanders hin kopieren. Achtung: Kopiert man RAM aus dem Bereich ab &C000, dann bitte zuvor das obere ROM (temporär!) ausschalten. Oder mit RAM Konfiguration &C3 den Bildschirm-Speicher von &C000 nach &4000 runterbinden / verlagern.

3. Beim Schreiben von Text wird alles überschrieben was darunter liegt. Um Text im AND Modus zu schreiben empfehle ich ein Grafikprogramm.



TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

cpcman

Danke für die Info.

Also mit dem da unten wird der Text nicht bei &4000 ausgegeben :
----------------------------------
Set start address of the Video-RAM to &4000
;
;changes BC and CRTC register 12
LD  BC,&BC0C ;C = CRTC register 12
OUT (C),C    ;Select register 12 using port &BCxx
LD  BC,&BD10 ;C = Value &10 for the selected CRTC register
OUT (C),C    ;and send 'C' to preselected CRTC register 12 using port &BDxx
------------------------------------

Wie funktioniert das bitte :

- zuvor das obere ROM (temporär!) ausschalten.

- mit RAM Konfiguration &C3 den Bildschirm-Speicher von &C000 
  nach &4000 runterbinden / verlagern.

Danke.


TFM

Oberes ROM aus: LD BC,&7F8E:OUT (C),C - Beide ROMs aus (mode 2)
Oberes ROM ein: LD BC,&7F86:OUT (C),C - Unteres ROMs aus (mode 2)

Oberes ROM aus: LD BC,&7F8D:OUT (C),C - Beide ROMs aus (mode 1)
Oberes ROM ein: LD BC,&7F85:OUT (C),C - Unteres ROMs aus (mode 1)

RAM Konfig &C3 einschalten: LD BC,&7FC3:OUT (C),C


Aber was willst Du denn überhaupt machen?
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

cpcman

Ich wollte die Textsprite ,(Buchstaben) bei &4000 schreiben und dann immer nach &c000 kopieren , damit man das flimmern nicht sieht in der Bewegung.
Wenn ich ein Buchstabe bewege mit dem Ziffern Q/W/E/S dann flimmern diese , auch mit Frame:
------------------
FRAME:
  LD B,&F5
FRA_L
  IN A,(C)
  RRCA     

  JR NC,FRA_L
RET     
-----------------

TFM

Da müsste ich den ganzen Code sehen. Normalerweise kann das Schreiben von einem Buchstaben nicht zum flimmern führen, die Zeit ist viel zu kurz.
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)


TFM

Wohl kaum. Leider weiß ich nicht was Du machen willst, also kann ich da auch nicht helfen.

Erstelle doch mal ein Konzept was das Programm machen soll. Dann findet sich auch eine Lösung dafür.  :)
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

cpcman

Das mit den Flimmern eines Ascii tritt unterhalb der Mitte auf vom Screen in der Bewegung. Die Bewegung war auf Maxi was FutureOs bieten kann, ist eigentlich nicht die Regel.


Mein Konzept ist erstmal Acii-Zeichen in Mode 1 als sogenannte Kacheln zu nutzen und teilweise Bewegen in der Acii-Größe.
Das funktioniert wunderbar

Eine Grafik/Bild im Hintergrund mit Kacheln/AScii im Vordergrund die sich bewegen geht auch mit Bildwechsel dank deiner Hilfe Wunderbar.


Ich baue ein Bild auf mit Kacheln im Vordergrund , welches teilweise  Fenster hat die das Bild im Hintergrund durchscheinen lassen sollen und auch andere Gebilde mit durchsichtigkeit.
Als Beispiel : "A" soll als Kachel außerhalb das Rot durchlassen.

Das ist das was noch fehlt und sich lohnt damit zu Arbeiten.
Ich hatte geschrieben das sich die Kacheln im ganzen bewegen.
Keine Sprite die Byteweise/Pixelweise eine Bewegung machen.

Es geht jetzt nicht mehr glaube ich um eine FutureOs Sache.
Hier brauche ich bitte mal ein Beispiel von dir.

Danke.

TFM

Sieht doch ganz gut aus :-)

Bin mir jetzt aber nicht ganz sicher ob ich verstehe was Du meinst. ...

Wenn es flackert, dann geht dem CPC entweder die Zeit aus oder es gibt ein Problem mit der Synchronisation.

Problem Zeit: Wenn Du pro Bildaufbau (1/50 Sekunde) ein ganzes 16 KB Bild bewegst, dann dauert es zu lange. Die Z80 schafft maximal 1 Byte pro 5 us. Braucht also um 16 KB zu bewegen (OS Funktion F_MOVE) ca. 80.000 us. Pro Bilder hat die CPU aber nur ca. 20.000 us zur Verfügung (= 1/50 Sekunde).

Wenn es an der Synchronisation liegt, dann einfach mal rumprobieren. Auf FRAME warten kann Dein Programm ja schon.

Hoffe das hilft jetzt etwas.
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

cpcman

Danke für die den Hinweis.
Mit dem Flackern ist es nicht wichtig , weil es im normalen schieben
nicht so stark ist mit dem Ascii.

Die Grafik gefällt mir so nicht mit dem vollfarbenen hintergund.
Das Bild vom AScii täuscht , es ist zufällig die gleiche Inkfarbe wie der Hintergrund , es ist nicht durchsichtig.

Danke.

TFM

Bei der Zeichenausgabe ist der Hintergrund der Zeichen immer auch der Untergrund.

Also wenn Du ein A schreibst, dann entsprechen die nicht gesetzten Punkt immer der Hintergrundfarbe. Bei geschickter Farbauswahl (wie in Deinem Beispiel) geht das ja ganz gut. Aber es gibt eben nur eine Hintergrundfarbe pro Bildschirm.

Die Zeichenausgabe ist nicht für transparent etc. gemacht sondern für Schnelligkeit. Also für Zusatzfunktionen muss man sich etwas einfallen lassen.

Zwecks Bildschirm Synchronisation hänge ich Dir mal zwei Beispiele an... (Übrigends was am Emulator flackert läuft am echten Computer oft schon weich.
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)