Danke für die Info.
mfg
Danke für die Info.
mfg
Ich möchte mit Copy/Paste irgendwie text in dieses Auto-Type-Fenster bekommen.
Oder gibt es ein Programm womit man das Basic, welches im "txt" besteht in ein Programm für den CPC umzuwandeln?
mfg
Eine die mit CP/M Plus läuft. Wo google man die?
mfg
Ich hatte letzte Woche noch Dateien von dort runtergeladen?.
Zitat
TP gibts jedenfalls auch auf den uebligen CPC Servern, d.h. z.B. der NVG
Von den Franzosen hatte ich mal eine runtergeladen, läuft aber nur auf cpc 2.2
mfg
Wie kann ich denn das machen, das ich dem Screen &c000 schreibe, mich aber im Screen ab &4000 befinde bzw den ich sehe. Sozusagen in die unsichtbare Seite schreiben, solange ich mich auf der Sichtbaren Seite befinde, nicht mit Poke , sondern mit den Printbefehlen von Basic zb?
mfg
Hallo, danke für dein Angebot.
Die Lib's in "C" bekomme ich nicht zum laufen, wie am Anfang.
Die ASM-Lib's funktionieren komischerweise.
Vielleicht schaffts du da mal ein kleines Beispiel?
mfg
Jup, ich Spiele mit dem EMU-CPC und als original habe ich einen zx81(48kb) mit einer c64-Floppy am laufen.
Probiere gern mit dem Z80-Prozessor(wie der zx81) rum und da bietet sich der CPC-EMU (APE) an.
Habe gerade das z88dk-c am gange. Bediene damit den zx81 und den EMU-CPC.
mfg
Hallo, hier unter "T" tauchen 4 dsk mit Turbopascal 3.0a auf für den CPC.
Ich schaffe die nicht runter zuladen.
Bei mir kommt die Fehlermeldung seit gestern: Teilnehmer meldet sich nicht in der vorgegeben Zeit...hmm. dann wird die Verbindung abgebrochen.
Kann die mal einer versuchen die runterzuladen?
<!-- m --><a class="postlink" href="http://roms.zophar.net/amstrad-cpc">http://roms.zophar.net/amstrad-cpc</a><!-- m -->
mfg
Zitat
In dem Buch steht auch, das sich das OS den Anfang des Bildschirmspeichers an Adresse &B1CB merkt.
Was muss man denn da noch reinpoken?
mfg
Ich suche auch noch eine laufende Turbo-Pascal 3.0 für den c6128.
Läuft bei nur zur Zeit nur auf dem EMU-6128 unter cpm2.2
mfg
Halloc EightBitWitch , hier habe ich mal einige Grafikroutinen in eine z88dk-lib gebracht.
<!-- m --><a class="postlink" href="http://www.cpc-forum.de/phpbb/viewtopic.php?p=6110#6110">http://www.cpc-forum.de/phpbb/viewtopic.php?p=6110#6110</a><!-- m -->
mfg
Habe jetzt eine eigene Lib erstellt, für eine einfache Grafik.
Bin folgendermassen vorgegangen:
1. z88dk installiert auf Laufwerk d:
2. die cpcrslib 2.0 runtergeladen und in z88dk eingebunden:
- cpcrslib.lib nach d:\z88dk\lib\clibs
- cpcrslib.h nach d:\z88dk\include
Damit kann man nun eine Printausgabe auf dem CPC-Screen darstellen.
3. 6 Asm-Dateien angelegt :
cpc_draw_a.asm
cpc_draw_r.asm
cpc_move_a.asm
cpc_move_r.asm
cpc_plot_a.asm
cpc_plot_r.asm
ASM-datein befinden sich im Anhang.
4. eine Datei "cpcgraflib.h" angefertigt:
#define _CPCGRAFLIB_H
extern void __LIB__ cpc_draw_a(int x, int y);
extern void __LIB__ cpc_draw_r(int x, int y);
extern void __LIB__ cpc_plot_a(int x, int y);
extern void __LIB__ cpc_plot_r(int x, int y);
extern void __LIB__ cpc_move_a(int x, int y);
extern void __LIB__ cpc_move_r(int x, int y);
5. eine Datei "cpcgraflib.lst" angefertigt:
cpc_draw_a
cpc_draw_r
cpc_plot_a
cpc_plot_r
cpc_move_a
cpc_move_r
6. dann die Lib erstellt (der Assembler liest die Dateien aus der "lst") und
in die Verzeichnisse kopiert :
z80asm -v -xcpcgraflib.lib @cpcgraflib.lst
copy cpcgraflib.lib d:\z88dk\lib\clibs
copy cpcgraflib.h d:\z88dk\include
7. dann eine "test.c" angefertigt:
#include <cpcrslib.h>
#include <cpcgraflib.h>
#pragma -zorg=16384
void main(){
cpc_PrintStr("Hallo User !");
cpc_PrintStr("...es geht...");
cpc_draw_a(320,200);
cpc_move_a(100,100);
cpc_draw_r(-80,10);
}
Alles anzeigen
und so compiliert :
d:\z88dk\bin\zcc +cpc -create-app -make-app -O3 -o test.bin test.c -lcpcrslib -lcpcgraflib -lndos
Nun kann man die "bin" oder "cpc" einlesen ab Adresse "0x4000"
vorher "memory &3fff" den Basicspeicher runtersetzen.
Das wars.
mfg
Hallo kannst du mal erläutern, wie du Symbos auf die Platte gebunden hast, damit es läuft?
Bzw auf eine MMC-karte als Laufwert am PC.
mfg
Ich wollte den Bereich von hex4000 bis hex 7fff als 2.Screen benutzen.
Irgendwo gab es einen Pokebefehl womit ich dem Rechner mitteile, wo sich die Grafikk befindet.
mfg
Irgendwo habe ich mal gelesen, das man am CPC 2 Bildschirmseiten einrichten kann und dann durch einen Pokebefehl umschalten kann.
Finde ihn nicht mehr.
mfg
Ich meine die RSX-Befehle die im ROM liegen, welches evtl zusätzlich eingebaut wurde (EMU).
Natürlich braucht man ja bei "C" keine RSX-Befehle im normalen RAM-Bereich. "C" ist ja schnell.
mfg
Hallo, wie komme ich mit dem z88dk an die RSX-Befehle mit dem senkrechten Strich " |TEST" zb?
mfg
Habe die Fehlermeldung jetzt mal abgefangen (Testdatei heisst jetzt : sometest.c):
Module "SOMETEST", Symbol not defined
Error in expression TEST_INITIALIZAZION1
Module "SOMETEST", Symbol not defined
Error in expression TEST_INITIALIZAZION2
mfg
Die"cpc" und "bin" wird nicht erstellt. Fehlermeldung kommt nicht, ich habe nur die "def" .
hmmm...
mfg
Beim Starten des CPC wird immer die erste Routine angesprungen im ROM, hier :DB "JAVARO","M"+&80 . Ist das beim ROM immer so?
Ich weiss nicht wie ich das verhindenrn kann.
Würde da jetzt schon ein richtiger grosser Programmablauf stehen, würde der ja schon losrennen, obwohl ich es noch nicht möchte. Geht das nur durch ein Dummy setzen?
mfg
RSX_TABLE: ;HIER BEGINT DIE NAMENS-TABELLE.
DB "JAVARO","M"+&80 ;DER NAME DER INIT ROUTINE
DB "SHO","W"+#80
Ich meinte ein Startfähiges winziges ROM als Source-ASM-Beispiel an einem Platz 8 zb und dann mal Testen.
Es muss ja, um vom CPC erkannt zu werden, bestimmte Eigenschaften besitzen. Und dann darin der Ablaufende Code, der dann mit |start zb abläuft.
Das interessiert mich, weiss jetzt nur nicht wie ich das da oben kürzen muss um einen kleine Demo für den EMU zu haben.
Danke.
mfg
Zitat
z88dk ansehen.
Habe hier einen kleinen Artikel über z88dk reingesetzt im Forum unter "z88dk". Ein klasse C-compiler.
mfg
Ist eine gute Idee ein ROM zuhaben, welches eine Verbindung nach aussen Knüpft. In welchen Schacht kommt dieses ROM rein?
Mich würde einmal der Aufbau des ROM als ASM vom Grundsystem interessieren, wie überhaupt dieses ROM im Schacht erkannt wird und aktiviert wirdvom CPC.
Es könnte dann hier vom USER viele Ideen zum Ausbauen einfliessen, der ein bisschen ASM kann. Man kann es auch nennen : Spiel ohne Grenzen mit EinschubROM.
Vorraussetzung ist , das es kompatibel ist in anderen EMUS.
mfg
Ich versuche 1 Lib zu erstellen mit 2 Routinen. Die Lib werden Sauber kompiliert, es kommt keine Fehlermeldung.
Wenn ich meine Testdatei dann Compilieren möchte mit der Lib, wird keine "bin" und keine "cpc" erstellt.
Hier mal mein Democode:
Datei : some1.c
Datei : some2.c
Werden hiermit compiliert :
zcc +cpc -vn -make-lib -Wn43 some1.c
zcc +cpc -vn -make-lib -Wn43 some2.c
Es entsteht some1.o und some2.o
Datei : some.lst
Diese wird so compiliert:
z80asm -d -ns -nm -Mo -xsome.lib @some.lst
Es ensteht eine some.lib.
Dann habe ich noch die h :
#ifndef _MYHEADER
#define _MYHEADER
extern void __LIB__ test_initialization1();
extern void __LIB__ test_initialization2();
#endif
Die some.lib kommt in den Ordner "clibs" und die some.h kommt in den Ordner "include"
Das ist die Testdatei: test.c
#include <stdio.h>
#include <stdlib.h>
#include <some.h>
#include <cpcrslib.h>
#pragma -zorg=16384
void main()
{
test_initialization1();
test_initialization2();
}
Alles anzeigen
Die wird so aufgerufen :
d:\z88dk\bin\zcc +cpc -create-app -O3 -o test.bin test.c -lcpcrslib -lndos
Es wird nur eine def erstellt mit diesem Inhalt, also keine Fehlermeldung :
Zitat
IF !DEFINED_ANSIstdio
defc DEFINED_ANSIstdio = 1
ENDIF
DEFINE DEFINED_myzorg
defc myzorg = 16384
Die cpc-datei und bin-Datei wird nicht erstellt.
Wo liegt der Fehler.
mfg
Hier gibt es Turbo Pascal 3.0 für den CPC und das Typhon-Basic , welches in Turbo Pascal 3.0 geschrieben worden ist, befindet sich mit auf der Disk.
<!-- m --><a class="postlink" href="http://cpcrulez.free.fr/applications_menu_CODING.php">http://cpcrulez.free.fr/applications_menu_CODING.php</a><!-- m -->
Ich wollte es runterladen , wo bekommt man die DEMO als als Sourcecode?
mfg
Es gibt auch vorgegebene Poke/Peeks :
wpoke (Wordadresse,Word)
bpoke (Wordadresse,Byte)
Wordvariable = wpeek(Wordadresse)
Bytevariable = bpeek(Wordadresse)
Das Tempo dieser Befehle ist noch schneller als über die Zeigervaribale.
Erreicht ca 95% reiner Assemblercode der selbst erstellt wurde nach dem schnellsten Kriterium.
Ich muss sagen: Super Sache um den CPC auf Renngeschwindigkeit zu bringen. Wer dieses z88dk verkennt und meint es gibt etwas besseres , welches so klar programmiert werden kann , der ist auf dem falschen Dampfer. Man kann mit diesem z88dk dem CPC bis auf den Systemkern gehen und programmieren, evtl sogar ein eigenes DOS erstellen.
Was "C" nicht schafft, schaffen die kleinen ASM-Inline-Befehle die man reinspicken kann.
Mal sehen ob bald einpaar CPC-Fans anbeissen, die Programmierlust haben und dieses z88dk benutzen. Wenn man drin sitzt kommt man nicht mehr los. Die Neugierde , etwas Neues zu schaffen damit ist sehr gross.
Man kann hier auch die scheu für die Sprache "C" überwinden, weil es ohne frust zum Erfolg kommt.
Kann das Programm nicht laden. Dein Fenster erscheint und dann "Fertig".
mfg
Fehlt noch move_r und move_a (Relativ und Absolut) :
void move_a(unsigned int codeint, unsigned int codeint1 ){
#asm
ld hl,4
add hl,sp
ld a,(hl)
ld e,a
ld hl,5
add hl,sp
ld a,(hl)
ld d,a
ld hl,2
add hl,sp
ld a,(hl)
ld c,a
ld hl,3
add hl,sp
ld a,(hl)
ld b,a
ld h,b
ld l,c
call 0xBBC0
ret
#endasm
}
void move_r(unsigned int codeint, unsigned int codeint1 ){
#asm
ld hl,4
add hl,sp
ld a,(hl)
ld e,a
ld hl,5
add hl,sp
ld a,(hl)
ld d,a
ld hl,2
add hl,sp
ld a,(hl)
ld c,a
ld hl,3
add hl,sp
ld a,(hl)
ld b,a
ld h,b
ld l,c
call 0xBBC3
ret
#endasm
}
Alles anzeigen