Autor Thema: Grafik Befehle für CP/M usw.  (Gelesen 3425 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline cpcman

  • CPC 664
  • ***
  • Beiträge: 184
  • Liked: 11
  • Karma: +5/-2
Grafik Befehle für CP/M usw.
« am: 06. November 2018, 15:56:01 »
Hallo, guten Tag.
Habe jetzt mal unter CP/M Plus versucht Grafik darzustellen mit ASM und dem PASMO-Compiler.
Klappt wunderbar.

Ich spiele auch mit dem CCZ80-Compiler.
Macht einen Sparsamen ASM-Code, den man auch noch verbessern kann.
Fast alle Basicbefehle sind verständlich in ASM umgesetzt und nachvollziehbar , gut erweiterbar.
Für mich zum spielen und tüfteln wunderbar.
Auch CP/M Plus Programme kann man erstellen und dort die Befehle erweitern.

Den CCZ80++ gibt es auch . Ist mit Klassen usw, für mich zu schwer.
Der Befehlssatz ist der gleiche wie beim CCZ80.
CP/M Plus kommt da zu kurz. Auch Stringbefehle sind sehr sparsam.

Gruss

CP/M PLUS (MODE, PLOT) :
org &100

scr_set_mode equ &bc0e
plot_absolute equ &bbea

ld hl,(&0001)
ld de,&0057
add hl,de
ld (firm_jump+1),hl

jp start
ret

start
ld a,2
call firm_jump
defw scr_set_mode

ld de,100
ld hl,100
call firm_jump
defw plot_absolute
ret

firm_jump
jp 0


CP/M PLUS (MODE, PLOT, DRAW) :
org &100

scr_set_mode equ &bc0e
plot_absolute equ &bbea
gra_line_absolute  equ &bbf6

ld hl,(&0001)
ld de,&0057
add hl,de
ld (firm_jump+1),hl

jp start
ret

start
ld a,2
call firm_jump
defw scr_set_mode

ld de,50
ld hl,100
call firm_jump
defw plot_absolute

ld de,200
ld hl,70
call firm_jump
defw gra_line_absolute
ret

firm_jump
jp 0

Offline cpcman

  • CPC 664
  • ***
  • Beiträge: 184
  • Liked: 11
  • Karma: +5/-2
Re: Grafik Befehle für CP/M usw.
« Antwort #1 am: 06. November 2018, 17:32:05 »
Hier ein Bild in Mode 1.

Gruss

Offline cpcman

  • CPC 664
  • ***
  • Beiträge: 184
  • Liked: 11
  • Karma: +5/-2
Re: Grafik Befehle für CP/M usw.
« Antwort #2 am: 06. November 2018, 17:42:13 »
Das geht hier immer so schnell.

Wollte zu dem Bild oben schreiben , das ich es mal mit CP/M  PLus in CCZ80 gemacht habe.
Habe CCZ80 mit meinen Befehlen zum Test erweitert.

include "CPMPlus.ccz80";

mode(1);
cls();
plotabs();
drawabs();

return;

Gruss

Offline cpcman

  • CPC 664
  • ***
  • Beiträge: 184
  • Liked: 11
  • Karma: +5/-2
Re: Grafik Befehle für CP/M usw.
« Antwort #3 am: 06. November 2018, 19:24:20 »
Wer einmal in die CCz80 reinschauen möchte für CP/M.

Habe jetzt mal eine Variableneingabe eingebaut für CP/M.

Die COM für CP/M ist 169 Byte klein. Der Compiler von CCZ80 bekommt das gut hin, auch für die normalen CPC-Programme.

include "CPMPlus.ccz80";

word x, y;

mode(1);
cls();

x=10;
y=10;
plotabs(x,y);

x=639;
y=200;
drawabs(x,y);

return;

Hier mal mein Code für die Erweiterung der Include cpmplus.ccz80  die ich gebaut habe.
Die ASM-Befehle kommen in Gänsefüßchen.
function byte plotabs(word,word)
{
  "ld   hl,&bbea ",
  "ld   (__startup_xbios_address),hl ",
  "ld   hl,2",
  "add  hl,sp",
  "ld   e,(hl)",
  "inc  hl",
  "ld   d,(hl)     ; DE = 2nd parameter",
  "inc  hl",
  "ld   a,(hl)",
  "inc  hl",
  "ld   h,(hl)",
  "ld   l,a         ; HL = 1st parameter",
  "ex   de,hl           ; DE = x, HL = y",
  "  jp   __startup_xbios "
} using startup;

function byte drawabs(word,word)
{
  "ld   hl,&bbf6 ",
  "ld   (__startup_xbios_address),hl ",
  "ld   hl,2",
  "add  hl,sp",
  "ld   e,(hl)",
  "inc  hl",
  "ld   d,(hl)    ; DE = 2nd parameter",
  "inc  hl",
  "ld   a,(hl)",
  "inc  hl",
  "ld   h,(hl)",
  "ld   l,a       ; HL = 1st parameter",
  "ex   de,hl         ; DE = x, HL = y",
  "  jp   __startup_xbios "
} using startup;


Online TFM

  • Administrator
  • CPC 6128+
  • *****
  • Beiträge: 3288
  • Liked: 780
  • Karma: +39/-0
  • Geschlecht: Männlich
  • FutureSoft und CPC - Ein starkes Team!
    • FutureOS
Re: Grafik Befehle für CP/M usw.
« Antwort #4 am: 07. November 2018, 11:26:06 »
Also ESC,3,1 ausgeben, hex &1B,&03,&01 reicht auch um auf Mode 1 zu schalten. Die drei Zeichen ersetzen das ganz Programm.  :)

Was tippt man ein?
- CP/M Plus starten
- Eintippen: setkeys keys.ccp
- Tippen: ESC-Taste, dann "31" und Return

Und schon ist MODE 1 an :-)

Mit ESC-3-2 kann wieder auf Mode 2 geschalten werden.
« Letzte Änderung: 07. November 2018, 11:34:52 von TFM »
TFM of FutureSoft
http://www.FutureOS.de --> Das Betriebssystem FutureOS (Update: 29.12.2020)
http://futureos.cpcwiki.de/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 21.01.2021)

Offline cpcman

  • CPC 664
  • ***
  • Beiträge: 184
  • Liked: 11
  • Karma: +5/-2
Re: Grafik Befehle für CP/M usw.
« Antwort #5 am: 07. November 2018, 13:36:32 »
Das ist das Problem, diese verschleierten Eingaben, die man nicht Verfolgen kann.

Es geht hier nicht um das Umschalten.
Sondern wie einfach es ist CP/M_Programme herzustelllen.
Weil manche glauben CP/M ist Hexerei.

Viele trauen sich da nicht ran.

Danke.
Gruss
« Letzte Änderung: 07. November 2018, 13:39:55 von cpcman »

Online TFM

  • Administrator
  • CPC 6128+
  • *****
  • Beiträge: 3288
  • Liked: 780
  • Karma: +39/-0
  • Geschlecht: Männlich
  • FutureSoft und CPC - Ein starkes Team!
    • FutureOS
Re: Grafik Befehle für CP/M usw.
« Antwort #6 am: 07. November 2018, 16:32:54 »
Ja, dabei ist es gar nicht so schlimm. Ist mit FutureOS ähnlich.  :)

CP/M Plus auf dem CPC ist ganz gut gelungen, leider führt es eher ein Nischendasein.
TFM of FutureSoft
http://www.FutureOS.de --> Das Betriebssystem FutureOS (Update: 29.12.2020)
http://futureos.cpcwiki.de/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 21.01.2021)