Hier kannst du es finden :
Bitte melde dich an, um diesen Link zu sehen.
Hier kannst du es finden :
Bitte melde dich an, um diesen Link zu sehen.
Hallo, hab mich mal mit dem MadPascal fĂĽr den C64 vertraut gemacht.
Ist noch in der Entwicklung und kann auch selber sehr schön erweitert werden.
Habe es damit geschafft serielle Daten zu senden und zu Empfangen mit 2400 Baud
Ich nehme an man könnte es ähnlich im cc65 machen.
Links wird gesendet und Rechts wird empfangen , die Daten werden in der Adresse $0400 dargestellt.
empfang :
// KERNAL_SETLFS = $FFBA;
// KERNAL_SETNAM = $FFBD;
// KERNAL_OPEN = $FFC0;
// KERNAL_CLOSE = $FFC3;
// KERNAL_CHKIN = $FFC6;
// KERNAL_CHKOUT = $FFC9;
// KERNAL_CLRCHN = $FFCC;
// KERNAL_CHRIN = $FFCF;
// KERNAL_CHROUT = $FFD2;
// KERNAL_LOAD = $FFD5;
// KERNAL_READST = $FE07;
program seriel;
var
i : byte;
num : word absolute $fb;
ascii : byte absolute $fd;
procedure seriell_open(); assembler;
asm {
num = $fb
lda #2
ldx #<(num)
ldy #>(num)
jsr $ffbd
lda #$02
ldx #$02
ldy #$00
jsr $ffba
jsr $ffc0
};
end;
procedure seriell_send(); assembler;
asm {
buffer = $fd
ldx #$02
jsr $ffc9
lda #$00
ldx buffer
txa
jsr $ffd2
jsr $ffcc
};
end;
procedure seriell_empfang(); assembler;
asm {
buffer = $fd
jsr $ffcc
ldx #$02
jsr $ffc6
bcs error
jsr $ffcf
tax
jsr $fe07
cmp #$00
bne error
stx buffer
jsr $ffcc
error:
};
end;
procedure seriell_close(); assembler;
asm {
lda #$02
jsr $ffc3
};
end;
begin
writeln('SERIELL EMPFANG');
poke($fb,10);
poke($fc,0);
seriell_open;
pause;
while True do begin
seriell_empfang;
pause;
poke($0400,ascii);
end;
pause;
seriell_close;
end.
Alles anzeigen
send
// KERNAL_SETLFS = $FFBA;
// KERNAL_SETNAM = $FFBD;
// KERNAL_OPEN = $FFC0;
// KERNAL_CLOSE = $FFC3;
// KERNAL_CHKIN = $FFC6;
// KERNAL_CHKOUT = $FFC9;
// KERNAL_CLRCHN = $FFCC;
// KERNAL_CHRIN = $FFCF;
// KERNAL_CHROUT = $FFD2;
// KERNAL_LOAD = $FFD5;
// KERNAL_READST = $FE07;
program seriel;
var
i,z : byte;
num : word absolute $fb;
ascii : byte absolute $fd;
procedure seriell_open(); assembler;
asm {
num = $fb
lda #2
ldx #<(num)
ldy #>(num)
jsr $ffbd
lda #$02
ldx #$02
ldy #$00
jsr $ffba
jsr $ffc0
};
end;
procedure seriell_send(); assembler;
asm {
buffer = $fd
ldx #$02
jsr $ffc9
lda #$00
ldx buffer
txa
jsr $ffd2
jsr $ffcc
};
end;
procedure seriell_empfang(); assembler;
asm {
buffer = $fd
jsr $ffcc
ldx #$02
jsr $ffc6
bcs error
jsr $ffcf
tax
jsr $fe07
cmp #$00
bne error
stx buffer
jsr $ffcc
error:
};
end;
procedure seriell_close(); assembler;
asm {
lda #$02
jsr $ffc3
};
end;
begin
writeln('SERIELL SEND');
poke($fb,10);
poke($fc,0);
seriell_open;
pause;
while True do begin
for i:=1 to 26 do begin
ascii:=i;
for z:=0 to 30 do begin
pause;
end;
seriell_send;
end;
end;
pause;
seriell_close;
end.
Alles anzeigen
Danke fĂĽr die Info.
Kannst du mir mal etwas über CIA2 $dd01 erzählen?
Da geht es um die serielle Schnittstelle : senden - empfangen.
Könnte man da etwas machen erstmal nur das senden zb mit 2400baud.
Ich suche Hilfe dafür schon seit längerer Zeit.
Sieht interessant aus.
Hallo, danke fĂĽr die Hilfe.
Wie wird bitte eigentlich der Plus4 gestartet auf dem BMC
Habe alle Dateien im Plus4 reingepackt die man braucht.
Ich komme immer nur zum C64.
Danke
Danke fĂĽr die Info.
----------------------------------------------
Ja. Basic 4.5 ist zu 100% Basic 3.5 kompatibel. Selbst der Basic Anfang und viele der Erweiterten Zeropage sind an dem Plus/4 angelehnt.
----------------------------------------------
Nicht 100% kompatibel zu dem Basic V 2. und dem Basic 3.5
Die serielle Verbindung geht mit dem Basic V2 und dem Basic 3.5 , aber nicht beim Basic 4.5
Eure Test sind ungenau.
Danke fĂĽr die Info.
Welchen Daten fĂĽr dieses cc65 werden dort reingesetzt bitte damit alles gefunden wird beim compilieren?
Danke.
Hallo, guten Tag.
Wie stellt man bitte bei Win10 dieses Path ein fĂĽr cc65 ?
Ich kann nur das cc65 laden ohne Path-Einstellung.
Es gab mal dieses cc65 wo es beim Installieren eingestellt wurde.
Danke.
Hallo, guten Tag.
Kann mir einer mal bitte erklären was hier geschieht mit dem RAM beim umschalten?
Wie wirkt sich dieses aus beim Programmieren in cc65?
Ist fĂĽr den cc65.
--------------------------------
// VIC Bänke umschalten
Bitte melde dich an, um diesen Link zu sehen. SET_VIC_BANK1 POKE( 0xDD00, (PEEK(0xDD00) & 0xfc) | 0x11 );
Bitte melde dich an, um diesen Link zu sehen. SET_VIC_BANK2 POKE( 0xDD00, (PEEK(0xDD00) & 0xfc) | 0x10 );
Bitte melde dich an, um diesen Link zu sehen. SET_VIC_BANK3 POKE( 0xDD00, (PEEK(0xDD00) & 0xfc) | 0x01 );
Bitte melde dich an, um diesen Link zu sehen. SET_VIC_BANK4 POKE( 0xDD00, (PEEK(0xDD00) & 0xfc) | 0x00 );
-------------------------------
Danke.
VICE.INI VICE 3.2
RS232 geht ab VICE 3.2 und höher
--------------------------------
[C64]
SaveResourcesOnExit=1
Window0Height=608
Window0Width=719
Window0Xpos=678
Window0Ypos=244
SoundDeviceName="dx"
SoundBufferSize=100
VICIIVideoCache=1
SidEngine=1
SidModel=1
RsDevice1="\\.\com1: baud=2400 parity=N data=8 stop=1"
RsUserBaud=2400
KeySet1NorthWest=65463
KeySet1North=65464
KeySet1NorthEast=65465
KeySet1East=65462
KeySet1SouthEast=65459
KeySet1South=65458
KeySet1SouthWest=65457
KeySet1West=65460
KeySet1Fire=65456
JoyDevice1=2
ETHERNETCARTBase=56832
Acia1Base=56832
-----------------------------------------
Hallo, mit dem RS232 klappt es noch nicht.
Der selbe Fehler tritt auf.
Habe die Version von deinem Server runter geladen.
Danke
Hallo, guten Tag.
Ich habe jetzt als alter Neuling den Raspi 3A mit dem BMC64 im gange.
Einfach die Dateien von BMC64 draufkopiert auf die SD und die Rom vom Vice3 dort reingepackt.
Eingeschaltet und war weniger als 2 Sekunde das Bild vom C64 zu sehen. War sehr erstaunt...ĂĽber die saubere Funktion.
Nun möchte ich aber die Scanlinien weg machen, wie geht das bitte?
Ich habe auch den Vice auf den Notebook laufen und ĂĽbertrage Daten auf einen Arduino mit RS232 mit 2400baud.
Ich finde nichts darĂĽber beim BMC64 ob der auch Daten senden kann ĂĽber die Pinleiste vom raspi.
Mich interessiert auch ob man die C64-D64 ĂĽber Wlan rĂĽberschicken kann?
Bei meinem MiSter geht es mit dem Progamm WinSCP.
Danke.
Hier habe ich eine Senderoutine mit 2400 baud die funktioniert.
befehl: !byte 10,0 = Baud
puffer: !byte 65 = Byte welches gesendet wird.
Wie könnte man das in XC-Basic machen, das man "befehl" und "buffer" übergibt an die ASM-Rouine.
Ich möchte das auch mit einer Routine machen in ASM , die Daten empfängt.
Wie es geht, weiĂź ich aber noch nicht , nehme aber an das die kĂĽrzer ist.
Nur muss sie in einem Interrupt laufen beim C64.
Habe noch keine Demo im XC-Basic gefunden die in einen Interrupt läuft.
Die Open-Routine fĂĽr das Versenden habe ich schon getestet mit XC-Basic.
Es wird da aber kein Byte verschickt , das Program wird aber sauber durchlaufen ohne Absturz.
Ich nehme an das die Zeit dafĂĽr zu kurz ist bzw das XC-Basic zu schnell ist.
Im ASM-Programm bei mir musste eine Bremse eingebaut werden.
start
lda #2
ldx #2
ldy #0
jsr $ffba
lda #2
ldx #<(befehl)
ldy #>(befehl)
jsr $ffbd
jsr $ffc0
ldx #2
jsr $ffc9
ldy #0
lda puffer,y
jsr $ffd2
jsr $ffcc
WaitForLastChar
lda $029d
cmp $029e
bne WaitForLastChar
ldx #50
loop
jsr $eeb3 ; etwa 1 ms warten
dex
bne loop
lda #2
jsr $ffc3
rts
befehl: !byte 10,0
puffer: !byte 65
Alles anzeigen
Hallo, danke fĂĽr die Hilfe.
Werde es probieren mit den verschiedenen Tips.
Das BBP Basic funktioniert bei mir.
Zufrieden bin ich noch nicht mit der RS232 Funktion der auĂźenliegenden Compiler jenseits von dem Basic im C64.
Wie kann man bitte mit dem XC-Basic eine SYS..... mit Ăśbergabe eines Bytes aufrufen ?
Möchte es damit mal probieren.
Danke.
Gibt es auch die Einstellung fĂĽr dieses RS232 bei dem Vice auf den Raspi bei BMC64 ?
Danke.
Hallo, danke fĂĽr die Info.
Freue mich das es eine neue Version gibt.
Hallo, wie kann man bitte dieses Pfundzeichen setzen beim C64Studio?
Danke.