Man kan nog röra sig i en SEQ-fil och ändra poster (har inte koll på det exakt) men annars kan man skriva över filen (ersätta) med:
SAVE"@0:filename",8 eller
OPEN 1,8,15,"@0:filename,S,W": CLOSE 1.
Den första 1541:an har en bugg som kan visa sig här men jag har hört att det är väldigt liten risk att man råkar ut för det.
Kör en scratch på filen som finns nu och kör om från början.
OPEN 1,8,15,"S0:filename": CLOSE 1
Den där 0:an som är med efter första tecknet är ett arv från PET-tiden, har för mig att man valde sida eller drive, på din C64 är det 0 som gäller, man kan t.ex. skriva LOAD"0:program",8 om man vill men det finns inga alternativ på C64 med en "vanlig" drive i alla fall så det går fint att skippa det i det läget.
Ja, SAVE används för att spara basic-programmet inte för att hantera en SEQ-fil.
Har du sparat basic-listningen och sedan pillar i den som om det var en SEQ-fil så kanske det blir konstigt.
Här är lite kort information också:
http://www.c64-wiki.com/index.php/VIC-1541När jag sparade high-score-lista i Taipan gjorde jag så här:
- Kod: Markera allt
3000 REM ------------------------------
3001 REM ADDITIONAL STUFF
3002 REM ------------------------------
10000 PRINT" lET'S CHECK THE OLD lOGBOOK...";
10001 GOSUB120
10005 DIMHN$(20),HP(20):FORQJ=1TO20:HP(QJ)=0:NEXTQJ:QJ=1
10010 QR$=CHR$(13)
10015 OPEN1,8,15:OPEN2,8,2,"LOGBOOK,S,R"
10020 IFST=0THENINPUT#2,HN$(QJ),HP(QJ):QJ=QJ+1:GOTO10020
10025 CLOSE2:QP=INT(TM/AT/100):IFAT<0THEN10046
10030 FORQI=1TO20
10040 IFHP(QI)<QPTHENQT=HP(QI):QT$=HN$(QI):HP(QI)=QP:HN$(QI)=A$:A$=QT$:QP=QT
10045 NEXTQI
10046 PRINT"{clear}{space*13}tAIPAN lOGBOOK":PRINTS$;
10047 PRINT" hONG{space*20}rATING":PRINT"{home}{down*2}":FORQI=1TO20
10051 IFHP(QI)<>0THENPRINT" ........................";MID$(STR$(HP(QI)),2)
10052 IFLEN(HN$(QI))>0ANDHP(QI)<>0THENPRINT" {up}";HN$(QI)
10054 IFQI=1THENPRINT
10055 NEXTQI:IFAT=-1THEN10090
10057 IFAT=-2THEN20000
10058 PRINT#1,"S:LOGBOOK":OPEN2,8,2,"LOGBOOK,S,W"
10060 FORQI=1TO20:PRINT#2,HN$(QI);QR$;HP(QI):NEXTQI
10065 POKE198,0:INPUT" pLAY AGAIN";Q$
10080 CLOSE2:IFQ$="Y"THENCLR:CLOSE1:GOTO10
10085 CLOSE1:GOTO20000
10090 CLOSE1:GOSUB110
10095 RETURN
10100 REM ------------------------------
10101 REM END OF LOGBOOK
10102 REM ------------------------------
10015 öppnar fil 2, läser in denna, stänger sedan
10058 har för mig att jag scratchar filen och sparar en ny med samma namn istället för att ersätta den...
Jaaa... efter att ha kikat på anvisningarna jag fick av Carlsson så ser jag vad problemet är nu.
viewtopic.php?f=10&t=5549Kör du OPEN x,8,15 så är det bara en kommandokanal du har öppnat med 15, du öppnar inga filer så utan bara suddar hela filer, byter namn etc etc . OPEN x,8,1 ska funka bättre eller x,8,2 eller x,8,3 osv osv...
I koden ovan har jag kommandokanal på fil 1: 1,drive,15 därför finns det bara en open där. Nästa open 2,8,2 är själva filen som fil 2, skriver till den med PRINT#2 på rad 10060 och läser med INPUT#2 på 10020 - fast jag stänger och öppnar igen då man (väl) inte kan ha öppet för både läsning och skrivning samtidigt?
Detta är enda gången jag programmerat sådant här så det är inte djupt förankrat, det var mest kassettband för mig på den gamla goda tiden.
Programmer's Reference Guide har säkert information om sådant här också:
http://www.commodore.ca/manuals/c64_pro ... erence.htm