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

28. April 2024, 15:30:10

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
  • Total Members: 221
  • Latest: scorp73
Stats
  • Total Posts: 11,721
  • Total Topics: 1,341
  • Online today: 266
  • Online ever: 1,724
  • (16. January 2020, 00:18:45)
Users Online
Users: 5
Guests: 242
Total: 247

Grafikbefehle nutzen. Wie die ROMS ein/aus Schalten.

Started by cpcman, 09. January 2024, 09:20:06

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

cpcman

Hallo, guten Tag.

Nun möchte ich bitte einpaar Grafikbefehle nutzen :
GRA SET PEN &BBDE
GRA PLOT ABSOLUTe &BBEA
GRA LINE RELATIVE &BBF9

Wie werden da bitte die ROMS ein/aus geschaltet um immer wieder
in das originale FutureOS zu gelangen um mit den FutureOS Befehlen weiter zu machen.

Danke.

TFM

Die native Firmware des CPC steht unter FutureOS erst einmal nicht zur Verfügung. Allerding könnte man das untere ROM einblenden, mit z.B.:

LD BC,&7F82:OUT (C),C ;Unteres ROM ein und MODE 2

oder

LD BC,&7F81:OUT (C),C ;Unteres ROM ein und MODE 1

Und dann könnte man direkt Firmware Routinen im unteren ROM aufrufen.
Das hat aber wohl nur bedingt Sinn.



Das untere ROM ausschalten (und damit auch den Zeichensatz) kann man folgendermaßen:

LD BC,&7F86:OUT (C),C ;Unteres ROM aus und MODE 2

oder

LD BC,&7F85:OUT (C),C ;Unteres ROM aus und MODE 1


Funktionen wie z.B. SET PEN sind nicht nötig, dann man bei der Zeichenausgabe in MODE 1 durch den Namen der OS Funktion den PEN bestimmt. Durch Steuerzeichen ist es möglich die Farbe zu ändern (siehe Handbuch).

OS Funktionen für Punkte und Linien finden sich in Source des FIOLIB.
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 deine Hilfe.

Werde die Dinge mal aufarbeiten.

cpcman

Wie kann ich bitte das Grafiksystem von FIOLIB in FutureOs für mein Programm nutzen? In der FIOBLIB.TXT sind die Befehle aufgelistet.

Welche Reihenfolge spielt man jetzt bitte auf dem Klavier für mein Musikstück damit es läuft?

Ich kann die Dateien:
RUNC-64K.MAX , RUNC-X16.MAX , RUNC.X16 , FIOLIB.C , STARSCRL.C ,
STARSCRL.SMC
nicht einordnen für meine Eigenprogramnutzung um die Grafikbefehle anzusprechen in meinem Programm.


Danke.

TFM

Die '.MAX' Dateien enthalten Z80 Source Code, darin sollte etwas Grafik Zeug sein.

Die '.SMC' Dateien kann man unter der C-Umgebung starten. Dazu muss allerdings zuerst die C-Umgebung installiert werden. Das geschieht indem man '-RUNC.64K' unter FutureOS startet.

Also:
- Start von '-RUNC.64K'
- Auf's DIR Icon klicken (oder auf 'Untag All'), also Taste 'd'
- Dann eine '.SMC' Datei markieren und starten

Leider hat keiner Lust mit mir was mit C zu machen. Sonnst wäre das Projekt weiter gediehen. Aber als Z80 Programmierer kenne ich mich zu wenig mit C aus um das allein hinzubekommen. Falls aber ernsthaftes Interesse besteht, kann man das Projekt 'FIOLIB' ja auch wieder aufgreifen. C auf dem CPC mit bis zu 4 MB RAM wäre doch was ;-)
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 habe mal mit dem SDCC etwas gemacht.
Ist sehr interessant.

Mein Interesse ist jetzt erstmal wegen FuturOS das ASM.
Den MAXAM packe ich auch noch mal an.

Die Programdemo von FIOLIB habe ich getestet.

Danke für die Hilfe.

TFM

Ist ja egal welchen Assembler Du nutzt, hauptsache er passt für Dich  :) Und wenn Deine Lösung funktioniert - wunderbar!  :)

Es wäre sehr interessant mal den SDCC für FutureOS etwas kompilieren zu lassen. Leider kenne ich mich damit nicht aus. Aber man könnte da ja die FIOLIB anpassen. Dabei würde ich den Z80 Teil schreiben und jemand anders müsste sich um alles C-artige kümmern. Zukunftsmusik also  ;)  :D  ;D
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

Der SDCC läuft nur über den PC , nicht über CPC bz CPM/Plus.

Man kann ja nicht sagen was so ein C-Compiler alles reinpackt beim Compilieren in diese ASM zu den eigentlichen main-programm.

Die ASM das unbekannte SDCC-Wesen.

cpcman

Wäre es nicht angebracht dieses Man-Power in Future-ASM reinpacken? Statt mit C herumwerkeln.

Ich meine , fertige kleine  Routinen in ASM für FuturOS die man dann beim Programmieren in ASM übernehmen kann. Grafik / Text / Float.

Für mich ist der MAXAM auch interessant , weil einige User hier
interesse haben an FutureOS und nur mit dem CPC spielen wenn sie MAXAM nutzen können.

TFM

Ja, mir ist Z80 auch lieber als C. Man ist einfach flexibler und schneller.

Welchen Assembler man schlussendlich nutzt ist ja egal, Maxam stand nur Pate für viele andere Assembler darunter die für Emulatoren etc.

Die Grafik-Routinen lassen sich ja in jedem Fall aus extrahieren. Außerdem: Selbermachen ist der größte Spass!
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

#10
Du schreibst : Selber machen ist der grösste Spass.

Da gebe ich dir recht , bloss das FutureOS hat seinen eigenen Gesetze , es ist ein eigenständiges Sytem welches den gesamten CPC im innern mit den eigenen Gesetzen formt und dadurch total offener ist für den Programmierer :
-----------------------
LS_INIT        ;Label bezeichnet Anfang des Programs

LD A,&82      ;Dieser Wert symbolisiert MODE 2 (siehe Bits 1 und 0)
                ;Beide ROMs sind eingeschalten (Bits 3 und 2)
LD (RAMCHAR),A ;Wert aus Register A in OS RAM-Variable RAMCHAR schreiben

LD B,&7F      ;Via Port &7Fxx ist das Gate-Array erreichbar

OUT (C),A      ;Wert aus Register A an Port in BC (=&7Fxx) schicken
                ;Damit auf MODE 2 und ROM Zeichensatz schalten

LD HL,S80X25 ;Zeiger auf OS Funktion S80X25 (im ROM A)
              ;Setzt Bildschirm auf 80 Zeichen und 25 Zeilen

CALL ROM_A  ;API aufrufen, um S80X25 (Register HL) in ROM A zu benutzen
              ;Nach dem Aufruf von "ROM_A" bleibt ROM A eingeblendet

LD IX,LESC  ;Die OS Funktion LESC loescht den Bildschirm schnell

CALL ROM_A2C ;OS ROM C einblenden, dort OS Funktion aus Register IX (LESC)
              ;aufrufen, und dann wieder OS ROM A einblende
-------------------------------

Es fehlt eine Aufklärung bei den einfachen Dingen für mich als Einsteiger um das FutureOs-Sytem zu begreifen.

Ich habe folgende PDF :
- CPC6128 Benutzerhandbuch
- Das Schneider CPC Grafikbuch
- Das Schneider CPC Systembuch
- ROM-Listing CPC

Beginne aus neugierde mit dem FuturOs-System , bekomme aber nicht hin mit einem ROM-Befehl einen Grafikpunkt zu setzen in Mode 2.

Es fehlen Tagesroutinen , die du glaube ich aus den Ärmel schütteln kannst ....die bei uns ankommen können als wäre das FutureOs fast so leicht wie en ASM-Basic zum benutzen im eigenen FutureOs-Programm.

Ich habe Zeit und tüftele viel wie du siehst , aber ich glaube anderen fällt es schwer so eine Ausdauer zun haben wie ich.

Das FutureOs ist bei mir wie ein Sog....spannend.

Danke.


TFM

Danke, Danke, Danke!  :flehan:  :00008351: Freut mich dass es Dir gefällt!

Ja, es ist so offen wie möglich für den Programmierer konzipiert. Das war von Anfang an Teil der Philosophie.  :)  :)  :)

Ja, es dauert sicher immer etwas um sich in ein OS einzuarbeiten. Das ist immer so. Hauptsache man hat Freude daran.  :00008351:

Wenn  im Handbuch was fehlt, dann lasse es mich bitte _konkret_ wissen, was da fehlt. Anbei mal die aktuelle Version von Kurzanleitung und Handbuch.
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)