Nur so generell zum Schreiben von sequentiellen Dateien. Weil hier nur genau ein Ziechen geschrieben wird, sollte man sich beim Auslesen vielleicht nicht wundern. Ich hab es bislang zumindest in BASIC nachvollziehen können, aber möglicherweise (ich würde es erwarten) ist das aus aus MC heraus auch so, dass bei Schreiben von weniger als 2 Zeichen, 4 Zeichen in der Datei stehen ... siehe C64-Wiki
Hallo Besucher, der Thread wurde 3,5k mal aufgerufen und enthält 24 Antworten
letzter Beitrag von ThomBraxton am
-
-
äh ja :-), aber nein
ich hatte eure post verfolgt und kontrolliert:
zu der zeit war bei mir das von euch berichtete in meinem code noch richtig,
aber irgendwie gab es immer irgendweclhe fehler rund um das label mit den "filename"-text
- entweder es wurde nicht richtig angelegt (oder sowas) und <fname + >fname war gleich *=$codestart)
oder ich legte die label nach hinten und ich bekam "phase error" (label benutzt vor deklaration)also hab ich die ganzen label und die macros damit entfernt und alles neu (ohne label) eingegeben
- dieses mal allerdings mit screencodes statt petscii-codesso kam dann eins zum anderen
-
-
Nur so generell zum Schreiben von sequentiellen Dateien. Weil hier nur genau ein Z[ei]chen geschrieben wird, sollte man sich beim Auslesen vielleicht nicht wundern. Ich hab es bislang zumindest in BASIC nachvollziehen können, aber möglicherweise (ich würde es erwarten) ist das aus aus MC heraus auch so, dass bei Schreiben von weniger als 2 Zeichen, 4 Zeichen in der Datei stehen ...
Hups!? Ich wollte das zuerst nicht glauben, und hab' das darum mit einem eigenen Testprogramm in VICE mit TDE ein nachgestellt, zuerst mit einer 1541, dann noch mit der 1581.
Daß CBM DOS leere Dateien nicht kennt, wußte ich ja schon, aber daß es sich auch bei 1-Byte-Dateien vertüddelt, nicht.
Ein typisches DOS-Problem, aber mit der 1581 hätte man das ja schon beheben können. Leider tritt der Fehler auch da auf.
-
... ich konnte an der letzten version zwar sehen, dass es die labels waren, die zu falschen ergebnissen führten, konnte es aber nicht repaieren - manchmal denke ich ich bin NICHT die einzige mögliche fehlerquelle die einfluss auf meinen code hat obwohl ich alleine vor dem rechner sitze...
so, also alles (zurück auf) so einfach wie möglich:
Code- ; ausgabe in seq auf disk# 9
- *= $1000 ; sys 4096
- lda #14 ; "n"
- sta $03c0 ;
- lda #1 ; "a"
- sta $03c1
- lda #13 ; "m"
- sta $03c2 ;
- lda #5 ; "e"
- sta $03c3 ;
- lda #44 ; ","
- sta $03c4 ;
- lda #19 ; "s"
- sta $03c5 ;
- lda #5 ; "e"
- sta $03c6 ;
- lda #17 ; "q"
- sta $03c7 ;
- lda #44 ; ","
- sta $03c8 ;
- lda #23 ; "w"
- sta $03c9 ;
- ;==================1v3 open SEQ
- ;basic: open 2,9,4,"1,seq,w"
- lda #2 ; #15
- ldx #9 ; #8
- ldy #4 ; #15
- jsr $ffba ;Parameter setzen
- save2file
- lda #$0a
- ldx #$c0 ;>fname2
- ldy #$03 ;<fname2
- jsr $ffbd
- jsr $ffc0 ;"Open" file offnen
- ;====================2v3 print#
- ;basic: print #2, "text"
- ldx #2 ;LOGISCHE FILENUMMER
- jsr $ffc9 ;"chkout" ausgabe
- ; auf file !
- lda #73 ; " i "
- jsr $ffd2 ;print
- jsr $ffcc ;"clrch" CLEARchannel
- close ;=====================3v3 close
- lda #$02 ; filenumber 2
- jsr $ffc3 ; call CLOSE
- rts ;========= zurueck zu BASIC
und: funktioniert NICHT
hä?
Was passiert denn, wenn Du anstelle der Anführungszeichen ein einfaches Hochkomme nimmst? Also Zeilen 5 und folgende anstelle von " das ' nimmst...