Hallo , danke für die Info.
Gruss
Hallo , danke für die Info.
Gruss
Hallo, danke für deine Hilfe.
Version 0.9.43 habe ich vom EMU für Windows.
Ich habe mir bei Mouser den "909-AGONLIGHT2" bestellt mit dem Gehäuse.
Wie wird bitte die MOS.BIN im Emu eingelesen in das Sytem die damit da bei ist ?
Danke.
Hallo, guten Tag.
Wo finde ich bitte die fertige cpm.bin für den Agon?
Wollte mal diesen Agon-Emu (WIN11)testen damit.
Die anderen Programme ...Forth usw funktionieren super.
Das Forth ist super... mit Grafik usw und auch sehr schnell.
Mit dem BBC-Basic wollte ich mich nicht so beschäftigen.
Wer von euch hat bitte den Agon schon als Hardware?
Danke.
Gruss
Hallo Haranni , du hattest doch mal mit Solder zusammen gearbeitet , wie du oben geschrieben hast.
Könntest du bitte mit Solder mal Verbindung aufnehmen wegen dem OS96 Sourcecode?
Wäre dir sehr dankbar dafür und den Erfinder Solder auch.
Danke.
Danke für die Info.
Das TRSE hatte ich vor 2 jahren einmal angeschaut es hat sich vom Spiel her bis heute wenig geändert und wurde wenig erweitert.
Es wurde sehr wenig umgesetzt für Plus4 , fast nichts,
Über 15 Systeme sind dort umgesetzt mehr oder weniger schlecht im Programmierstiel.
Mit dem sogenannten Pascal hat dieses System nichts am Hut.
Das CC65 kommt da schon besser hin für den Plus4. Aber C lernen ist nicht so einfach.
Mit welcher Sprache programmierst du bitte?
Ich Progge mit MadPascal und ASM , ist sehr Systemnah.
Diese Demo mit dem IRQ zeigt wie Professionell es gemacht wird mit dem System und IRQ-Programme müssen schon Sauber sein im arbeiten damit es
gut funktioniert ohne Rasterflimmern.
Danke.
Wo findet man bitte den Sourcecode für das OS96?
Danke.
Oder Raster-IRQ :
----------------------------------
var
DETIRQSRC : byte absolute $ff09; //detect IRQ source, and clear IRQ flag
SETIRQSRC : byte absolute $ff0a; //set IRQ source
RC : byte absolute $ff0b; //raser counter bits 0-7
BACKGROUND : byte absolute $ff15;
BORDER : byte absolute $ff19;
VCOUNT : byte absolute $ff1d; //vertical line bits 0-7
IRQVEC : word absolute $fffe;
var
tmp : byte absolute $ff;
procedure myRasterIrq; interrupt;
begin
asm { phr };
Inc(BORDER);
tmp:= VCOUNT + 32; repeat until tmp = VCOUNT;
Dec(BORDER);
DETIRQSRC := DETIRQSRC and %01111111;
asm { plr };
end;
begin
pause;
asm { sei \ sta $ff3f};
RC := 204; SETIRQSRC := 2;
DETIRQSRC := DETIRQSRC and %01111111;
IRQVEC := word(@myRasterIrq);
asm { cli };
repeat until false;
end.
----------------------------------------------------
Danke für deine Hilfe,
Ein festes Ziel habe ich noch nicht , muss mich erstmal wieder einspielen.
Ich programmiere diesen Yape zur Zeit mit MadPascal.
Dieses MadPascal hat eine tolle Schnelligkeit und die PRG sind sehr klein.
Wollte alles mal mit ASM machen , aber dieses Madpascal bietet auch eine Mischung an , um direkt mit ASM in das System zu greifen.
Für mich ist es leichter wenn ich meine eigenen kleinen ASM-Routinen schreibe und dann in Madpascal einbette als das ich alles mal
in ASM schreibe und dann mit den Sprungsalat nicht mehr durchsteige,
Gruss
Die ersten 6 Chars verändern mit Madpascal :
----------------------------
var
RAMROMSEL : byte absolute $ff12;
CHBAS : byte absolute $ff13;
const
SCREEN_ADDR = $0c00;
EMPTY = $20;
fonts: array [0..(8 * 6 - 1)] of byte = (
24,24,36,36,36,60,102,90, // ship up
0,3,62,197,197,62,3,0, // ship left
0,192,124,163,163,124,192,0, // ship right
90,102,60,36,36,36,24,24, // ship down
0,60,110,98,70,118,60,0, // obstacle 1
0,60,118,70,98,110,60,0 // obstacle 2
);
procedure initFonts;
begin
Move(pointer($d000), pointer($6000), $400);
Move(fonts, pointer($6000), SizeOf(fonts));
// set bit 2
RAMROMSEL := RAMROMSEL and %11111011;
// 24 = $6000 / $400 on 2-7 bits
CHBAS := (CHBAS and %11) or 24 shl 2;
end;
begin
initFonts;
FillChar(pointer(SCREEN_ADDR), 24 * 40, EMPTY);
poke(3072,0);
poke(3074,1);
poke(3076,2);
poke(3078,3);
poke(3080,4);
poke(3082,5);
poke(3084,6);
poke(3086,7);
repeat until false;
end.
------------------------------------------------
Mit ASM dazwischen spielen mit Madpascal :
-----------------------------------------------
var
SCREEN : pointer;
GSCREEN : pointer;
BORDERCOLOR : byte absolute $ff15;
BGCOLOR : byte absolute $ff19;
var
a,b,c : word;
x,y,z : byte;
begin
asm {
lda #$0d // ausgabe char
jsr $ffd2
lda #65
jsr $ffd2
lda #$0d
jsr $ffd2
lda #66
jsr $ffd2
};
asm {
lda #$0d
jsr $ffd2
ldx #46 // ausgabe integer
lda #12
jsr 42079
};
// A B in Color
asm {
lda #90
sta 2048
lda #70
sta 2049
lda #1
sta 3072
lda #2
sta 3073
};
writeln('');
a:=$1234;
writeln(lo(a));
writeln(hi(a));
z:=66;
writeln(#66);
repeat until false;
end.
--------------------------------------
Hallo, danke für deine Info.
Der Plus4 ist ein Gerät , welches gute Eigenschaften hat zum Tüfteln mit seinem innneren Aufbau und den einzelnen ROMS die man nutzen kan und erfinden kann.
Das Yape ist echt Betriebsnah.
Ich such bitte LösungenTricks für das 256KB-RAM für die Nutzung.
Ich suche auch bitte eine PDF für die Befehle vom OS96.
Habe diese Eingebaut im YAPE. Mir fehlen die Befehle dazu bzw die Nutzung vom Hannes-Ram.
Danke.
Hallo, guten Tag.
Nach langer Zeit fange ich wieder mit dem Plus4 Yape an mit 75 Jahren.
Der PLUS4 gefällt mir sehr zum Programmieren.
Yape gibt es jetzt 1.2.4 Version.
Nun habe ich im Yape das Hannes RAM 256kb eingestellt.
Die Beispiel DSK erkennen das RAM und die DEMOS funktionieren Super.
Ich nehme jetzt das Mas Pascal zum Programmieren.
Es wurde gut ausgebaut.
Einpaar fragen bitte zum Hannes RAM bitte.
Würde mich freuen wenn es bitte einpaar infos gibt für das Hannes RAM unter Yape.
MadPascal :
-----------------------------------
HANNES : Byte absolut $fd16;
HANNES:= %11110011 ;
----------------------------------
Die gesamten 64kb des Plus4 gehören nun zu Hannes Bank 3?
und kann ein Programm starten, das in Bank 3 liegt?
wenn ich das jetzt schreibe:
-------------------------------------------------- ----------
HANNES:= %11110001 ;
Dann kann ich ein Programm auf dem Plus4 schreiben, das zu Bank 1 gehört?
HANNES:= %11110000 ;
Ich bin jetzt also wieder in Bank 0?
HANNES:= %11110001 ;
Damit ich dann mein Programm starten kann von Bank 1, was ich oben geschrieben habe?
Bedeutet das auch, dass eine Bank immer zu Plus4 0-3 gehört?
HANNES:= %11110000 ;
Damit gehört der Speicher 0-3fff dem RAM von Hannes und dem Programmierer gemeinsam?
HANNES:= %11110001 or 8;
Danke.
Ich habe dieses FRACTAL.BAS mal mit pcbasic und der DosBox x laufen lassen.
Beide haben fast die gleiche Zeit ca 18 sekunden.
Ich setze darauf , das beide Programme pcbasic und DosBox x dem GWBasic auf einem originalen DosRechner gleichstehen.
Beide brauchen ca 18 sekunden.
Gruss
Dieses QB64 von QB64 Phoenix ist auch Super für mich.
Ich spiele gern auch mit Basic in diesem Bereich.
Gruss
Dieses habe ich mit dem Programm MSDOS und vDOS nicht hinbekommen.
Sind die Programme MSDOS und vDOS so schnell , weil die den Grafik Modus nicht können?
10 'This will draw 5 spheres
20 GOTO 160
50 IF VERT GOTO 100
60 CIRCLE (X,Y),R,C,,,.07
70 FOR I = 1 TO 5
80 CIRCLE (X,Y),R,C,,,I*.2:NEXT I
90 IF VERT THEN RETURN
100 CIRCLE (X,Y),R,C,,,1.3
110 CIRCLE (X,Y),R,C,,,1.9
120 CIRCLE (X,Y),R,C,,,3.6
130 CIRCLE (X,Y),R,C,,,9.8
140 IF VERT GOTO 60
150 RETURN
160 CLS: SCREEN 1: COLOR 0,1: KEY OFF: VERT=0
170 X=160: Y=100: C=1: R=50: GOSUB 50
180 X=30: Y=30: C=2: R=30: GOSUB 50
190 X=30: Y=169: GOSUB 50
200 X=289: Y=30: GOSUB 50
210 X=289: Y=169: GOSUB 50
220 LINE (30,30)-(289,169),1
230 LINE (30,169)-(289,30),1
240 LINE (30,169)-(289,30),1,B
250 Z$=INKEY$: IF Z$="" THEN 250
-------------------------------------------------------
Aber mit PCbasic :
Hallo, guten Tag.
Mit 74 Jahren habe ich mal wieder mit GWBasic gespielt : PC-BASIC 2.0.7
Du hast hier ein MSDOS ausgegraben welches ein gutes Bild macht mit dem GWbasic.
Wie kann man bitte mit dem GWBasic einen Grafikscreen herstellen Screen 9 zb.
Danke.
Hallo, guten Tag.
Spiele mit 69 Jahren mal wieder mit dem CPC6128 , aber nur mit dem EMu JAVACPC.
Ich spiele mit dem Pasmo auf dem CPC6128.
Wie komme ich bitte mit ASM für den PASMO in den Grafikmodus für CPM+ bei dem CPC6128?
Danke.
Gruss
Jup danke für die Info.
Spiele spielen möchte ich nicht.
Mich interessiert das Programmieren mit Basic und anderen alten Programmiersprachen.
Auch das innenlebenden der Hardware(im EMU) kennenlernen des Computer.
Hat man schon einmal eine Verbindung einer seriellen Schnittstelle probiert mit dem Apple und einem PC über RS232?
Wenn ja, wie funktionieren im Apple die Befehle um eine Verbindung aufzubauen und dann Buchstaben zu übertragen und auch wieder zu empfangen? Der EMU hat so eine Schnittstelle eingebaut.
Ich hatte vor ca 5 jahren meine komplette Apple//e-Anlage verkauft. Hatte mich nur kurz beschäftigt damit.
War dann mit den ganzen Steckkarten zuviel geworden. Ich wollte keine Hardware basteln und instandhalten sondern wollte das Innenleben kennenleren. Das Gerät hakte hier und manchmal da, ich wußte dann nicht, lag der Fehler im Gerät oder war es mein Programmierfehler usw.
Danke.
Gruss
Hallo, guten Tag.
Ich spiele zwar mit dem Microcim, wollte jetzt mal mit dem AppleWin-Emu den Apple //e nachempfinden.
Was haltet ihr von dem AppleWin um damit den Apple IIe mal kennzulernen ?
Ist der gut verbreitet hier um auch mal auf Fragen einzugehen, oder würde ich damit allein in der Sceene hier stehen?
Mit welchen Apple wird dann hier am meisten gespielt, um um Apple mal kennen zulernen ?
Wo könnte gibt es Hilfen für DOS/Basic usw in PDF?
Wo findet man bitte DSK für den EMU?
Danke.
Gruss
Hier zb sende ich vom PC ein Byte über die serielle Schnittstelle mit 1200Baud welche vom Micro-Kim empfangen wird.
Die Hex blinkt nur kurz auf, weil ich ja oben in der Loop den Empfang über die seriell Schnittstelle habe.
Der Buchstabenwert der ankommt blinkt richtig auf, also der Wert wird richtig empfangen.
Wie kann jetzt die HEX-Anzeige über einen Timer regelmäßig angesprungen werden beim abfragen der seriellen Routine?:
-----------------------------
hex12 .equ $fb ; Hex 1-2
pc_a .equ $1e5a ; Empfangsroutine
.org $200
start
jsr pc_a
jsr hex_led
jmp start
hex_led
sta hex12
jsr $1F1F
jsr zeit_0
rts
zeit_0
ldy #$00
warte0
dey
bne warte0
rts
---------------------------------------
Hallo Norbert.
Vielleicht kannst du mir bitte weiterhelfen.
Ich habe den Microkim seit einigen Wochen mit der 32KB-Erweiterung von Briel.
Ich dache mit 65 Jahren kann man wieder auf einer Oltimer-Schiene fahren.
Ich habe mir ein Programm in Purebasic geschrieben, womit ich meine pap-Programme seriell mit 1200Baud übertrage.
Klappt wunderbar. Ich benutze den "win2c64 -P..." der mir fertige pap-Programme erstellt, die ich über den Notepad++ compiliere.
Nun schaffe ich es nicht im ersten Teil des Programmes Daten zu erfassen die dann im Display dargestellt werden, weil es ja, so wie ich gesehen habe immer in einer Loop abläuft, damit die Hex-Anzeige etwas anzeigt.
Ich möchte eine Taste abfragen im ersten Teil beim Micro-kim und diesen Wert in der Hex-Anzeige anzeigen.
Klappt nicht eine Taste abfragen, wegen einer erforderliche reglemässigen Loop zur Anzeige.
Ich habe hier ein ASM welches in einer Schleife läuft und funktioniert.
Wie kann ich eine Anzeige jetzt auslagern mit einem Timer , der regelmässig das Hex-Display bedient?
Danke.
Gruss
peter
--------------------
hex1 .equ $09
hex2 .equ $0b
hex3 .equ $0d
hex4 .equ $0f
hex5 .equ $11
hex6 .equ $13
.org $200
ldx #$7f
stx $1741
loop
jsr hex_led ; springt zur Hex-Anzeige
jmp loop
hex_led
ldx #hex1
stx $1742
ldx wert
stx $1740
jsr zeit_1
ldx #hex2
stx $1742
ldx wert+1
stx $1740
jsr zeit_1
ldx #hex3
stx $1742
ldx wert+2
stx $1740
jsr zeit_1
ldx #hex4
stx $1742
ldx wert+3
stx $1740
jsr zeit_1
ldx #hex5
stx $1742
ldx wert+4
stx $1740
jsr zeit_1
ldx #hex6
stx $1742
ldx wert+5
stx $1740
jsr zeit_1
rts
zeit_1
ldy #$7f
warte
dey
bne warte
rts
wert .byte $86 $db $cf $e6 $ed $fd
----------------------------------------------------
das ist die pap:
;180200A27F8E4117200B024C0502A2098E4217AE66028E4017206006AE
;18021802A20B8E4217AE67028E4017206002A20D8E4217AE68028E0782
;1802304017206002A20F8E4217AE69028E4017206002A2118E421706D5
;180248AE6A028E4017206002A2138E4217AE6B028E4017206002600761
;0C0260A07F88D0FD6086DBCFE6EDFD0942
;0000050005
Nach längeren tüfteln kann ich jetzt alle 6 Hexanzeigen vom Microkim ansteuern.
Das heisst, jede einzelne Zelle von einer Hexanzeige:
Einschalten der Hexanzeigen:
ldx #$7f
stx $1741
----------------------------
HEX 6 wird jetzt benutzt:
ldx #$13
stx $1742
.........
HEX 1: $09
HEX 2: $OB
HEX 3: $OD
HEX 4: $OF
HEX 5: $11
HEX 6: $13
..........
---------------------------
Daten für die Hex 6 ist ein "H":
ldx #$f6
stx $1740
----------------------------
A - $f7 L - $b8 g - $ef u - $9c 1 - $86
B - Sff O - $bf h - $f4 y - $ee 2 - $db
C - $b9 P - $f3 i - $84 3 - $cf
D - $bf S - $ed j - $9e 4 - $e6
E - $f9 U - $be l - $86 5 - $ed
F - $f1 Y - $ee n - $d4 6 - $fd
G - $bd b - $fc o - $dc 7 - $87
H - $f6 c - $d8 p - $f3 8 - $ff
I - $86 d - $de r - $d0 9 - $ef
J - $9e f - $f1 t - $f8 0 - $bf
- - $c0
--------------------------------------
.org $200
ldx #$7f
stx $1741
ldx #$13
stx $1742
ldx #$f6
stx $1740
rts
-------------------------------
Compiliert mit dem" win2c64.exe".
Der macht eine fertige "pap".
Gruss
Jup, das Daten übertragen und zurück funktioniert jetzt einwandfrei mit 1200Baud zum PC
Ich habe mir jetzt ein Programm in Purebasic geschrieben. Ist einfacher als dieses "hyperterminal" für Windows.
Gruss
Jup, die Terminalanbindung ist da mit Hyperterminal, ich habe auf 1200Baud eingestellt.
Wenn ich Reset betätige am KIM dann werden die Daten zum PC gesendet. Und zwar die Adresse die ich dort gerade eingestellt habe.
Wenn ich dann im Terminal am PC die Returntaste drücke geht die Adresse als Anzeige im Terminal weiter und zeigt mir dafür die Daten an, die gerade da drin sind. Wenn ich dann die Verbindung unterbreche dann kann ich am Microkim die gleiche Adresse sehen wie am PC. Das heisst die Verbindung hin und zurück ist vorhanden.
Ich wollte einmal wissen wie die Daten übertragen werden, nach dem "L" im Terminal RETURN drücken oder nur "L" und die Daten rübersenden?
Danke.
GRuss
Hallo , guten Tag.
Mein Microkim von Briel ist heute angekommen. Ein schönes kleines Gerät.
Die serielle Verbindung steht schon zum Gerät mit 2400Baud.
Ich weiss jetzt nur noch nicht, wie ich die Daten:
;180200A90085F985FA85FBA206BDCE0295E2CA10F8A5E849FF85E80F00
reinbekome
So als Text wie es oben steht mit dem ; Zeichen vorne weg?
Wenn ich jetzt ein "L" sende , kann ich dann die anderen Daten oben gleich hinterher schicken?
Danke.
Gruss
Ich habe diese Demo aus einem Buch:
-------------------------------------------------
!to "display.prg",cbm
*=$200
begin
lda #$01
sta $00fb
lda #$02
sta $00fa
lda #$03
sta $00f9
gehe
jsr $1f1f
jmp gehe
rts
-------------------------------
Mit ACME compiliert und die Daten in den Simulator gebracht.
Die Zahlen erscheinen nicht im Display.
Liegt es jetzt am Code oder am Soft6502Simulator?
Danke.
Gruss
Hmm..., das mit den Befehlen zum Ansprechen vom Hexdisplay ist mir noch nicht klar.
Irgenwie finde ich die Systemvariablen(Adressen) dafür nicht.
Ich möchte bitte mal eine Zahl decimal"10" in den Akku laden und die Zahl dann auf alle 4 Displax anzeigen.
Danke.
Gruss
Jup danke.
Ich habe jetzt mal den Soft6502 installiert.
Funktioniert wunderbar.
Meiner wird wohl in den nächsten Wochen kommen.
Kann man dann die Ergebnisse vom KIM auf einem Terminal am PC empfangen und Auswerten ?
Danke.
Jup danke für den Hinweis.
Hat einer von euch bitte mal etwas geschrieben in ASM?
Welchen Assembler kann man nehmen der unter Win7 läuft?
Wie kann man bitte Daten vom PC(Terminal-RS232) nach dem KIM übertragen?
Ich kann die Auflistung der sogenannnten Systembembefehle vom ROM nicht finden?
Wie kann ich zb eine Addition als Zahl ausgeben.
Danke.
Gruss
Hallo, guten Tag.
Ich habe mir heute den KIM bei Briel bestellt mit 65 Jahren.
Wo findet man bitte eine Befehlsliste in ASM für den KIM um zb eine Addition in ASM auf den Zahlendisplay auszugeben usw.
Ich habe keinerlei Unterlagen.
Würde mich freuen , wenn man mir mit Material weiterhelfen könnte.
Ich programmmiere mit dem ACME.
Danke.
Gruss
Meine Mail : Funkheld@arcor.de
so, habe heute mein cpcbooster bekommen mit 2 kabeln für den cpc6128 und den cpc464.
tolle sache das ding.
die datenübertragung zum pc über rs232 klappt wunderbar.
gruss
Versuch mal den AMDOS-Teil in den Ram zu legen , bzw vorher zu manipuieren, dann geht es.
Also in Wincpc geht es, da habe ich natürlich das AMDOS direkt geändert.
Das ist das schöne am Wincpc oder andere Cpc-emus, für uns tüftler....